Какой контейнер верхнего уровня лучше для этого дизайна, JFrame с Jpanels или JDesktop с JInternalFrames

Я новичок в Swing и AWT, я хочу создать графический интерфейс с использованием Netbeans. Моему графическому интерфейсу требуются три области, о которых я сейчас думаю как о JPanels на JFrame. Мне требуется "Рисование" панель, которая будет прослушивать ввод мыши и рисовать фигуры Java2D. Панель рисования будет прикреплена к левому верхнему углу. Две другие области являются & quot; Свойствами & quot; панель прокрутки и «Контроллер» панель прокрутки. Панель контроллера будет определять, какие нарисованные элементы будут отображаться с помощью кнопок, а панель прокрутки свойств будет отображать сведения о любом объекте фигуры, который щелкается на панели чертежа (конечные точки, цвет и т. Д.).

Типичный вариант использования области рисования таков, что первый щелчок в области рисования будет первым набором координат для фигуры, т.е. IE: линия. Этот щелчок будет зафиксирован как объект point2d. Второй щелчок будет вторым объектом point2D, и между ними будет построена линия. Область контроллера будет иметь такие кнопки, как «Круг». & Quot; линия & Quot; "Elipse" и т. д. В зависимости от того, какая кнопка контроллера нажата, в области рисования будут отображаться только фигуры этого типа. Панели прокрутки контроллера и свойств не будут перемещаться, они будут заблокированы и изменят размеры к нижней и правой сторонам графического интерфейса, соответственно.

Как новичок, я борюсь с лучшими компонентами для использования. Я читал о JDesktop и JInternalFrame, но, похоже, мне все это действительно не нужно. Простого JFrame с тремя JPanels должно быть достаточно, верно? В частности, я думаю, что мне нужен JFrame верхнего уровня, с JPanel для рамки рисования и двумя JScrollPanel. Мне понадобится прослушиватель мыши на панели рисования, чтобы зафиксировать координаты каждого щелчка, и прослушиватели для каждой кнопки на панели управления. Могу ли я поместить слушатель мыши в JPanel и нарисовать на нем фигуры Java2D, или мне понадобится другой (лучший?) Контейнер внутри JPanel для рисования?

Ответы на вопрос(3)

Ваш ответ на вопрос