Как реализовать Java-приложение AWT / Swing

Я хочу реализовать приложение Java / AWT / Swing, но я новичок в AWT / Swing. Мне нужно нарисовать сетку, как панель. Чем перетащить некоторые объекты на него. Позже объекты могут быть кликабельны и изменять размер. Мое приложение должно выглядеть так:

желаемый результат

Я могу нарисовать объект с:

public void paint(Graphics g){}

но это слишком далеко от того, что я хочу сделать.

Как я могу реализовать такое приложение? Что я должен прочитать и знать, чтобы сделать это?

3 ответа

Решение

Во-первых, я обязательно буду следовать учебным курсам по Swing:

Затем я бы немного пересмотрел ваш подход: я бы использовал компоненты Swing.

  • Начните с JPanel на JFrame.
  • Добавьте JComponent на панель для вашей сетки. Переопределить paintComponent метод там нарисовать вашу сетку.
  • Добавьте к этому другие JComponents для ваших объектов. Снова переопределите paintComponent метод для тех, кто рисует внешний вид ваших объектов.
  • Затем вы можете использовать встроенные функции, предоставляемые JComponent, чтобы разрешить щелчок, изменение размера и т. Д. С каждым событием вы можете затем перерисовать компонент, чтобы учесть любые изменения, которые необходимо отобразить в следующем вызове paintComponent - звонит repaint при необходимости форсировать перерисовку.

Пожалуйста, не используйте public void paint(Graphics g){} этот метод для AWT Components а также BasicXxxUI, за Swing JComponents есть ли метод public void paintComponent(Graphics g){} больше в учебнике графики

Вам нужно разработать все с нуля?

Для рисования, нажатия механики и т. Д. Вы можете использовать PlayN только для Java-части...

Но если вы хотите использовать возможности свинга для... Я не уверен, что вы можете смешивать playN со свингом...

Но если вы полагаетесь только на GraphicsAPI awt.... тогда вам нужно поискать несколько вещей.

небольшая графика enigne для рисования с возможностью точного определения (простое обнаружение столкновений), так что вы можете проверить каждый объект по щелчку. Движением и перекраской легко управлять с помощью простого двигателя...

Вот действительно хорошая страница

Другие вопросы по тегам