Как реализовать Java-приложение AWT / Swing
Я хочу реализовать приложение Java / AWT / Swing, но я новичок в AWT / Swing. Мне нужно нарисовать сетку, как панель. Чем перетащить некоторые объекты на него. Позже объекты могут быть кликабельны и изменять размер. Мое приложение должно выглядеть так:
Я могу нарисовать объект с:
public void paint(Graphics g){}
но это слишком далеко от того, что я хочу сделать.
Как я могу реализовать такое приложение? Что я должен прочитать и знать, чтобы сделать это?
3 ответа
Во-первых, я обязательно буду следовать учебным курсам по Swing:
- http://docs.oracle.com/javase/tutorial/uiswing/components/
- http://docs.oracle.com/javase/tutorial/uiswing/
Затем я бы немного пересмотрел ваш подход: я бы использовал компоненты 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 для рисования с возможностью точного определения (простое обнаружение столкновений), так что вы можете проверить каждый объект по щелчку. Движением и перекраской легко управлять с помощью простого двигателя...