У меня есть интересные идеи и критика из этого, this и this (см. последний пост для кода соответствующего GUI). Тем не менее, я все еще довольно смущен некоторыми вещами. В основном, что является наименее дорогостоящим способом отображения пользовательской графики?
В частности, я использовал метод paintComponent()
из класса JPanel
, создав объект этого класса в методе MouseDragged()
вместе с методом paintComponent(getGraphics())
(AuxClass2
и AuxClass1
соответственно).
По-видимому, использование getGraphics()
и paintComponent()
вместо repaint()
- плохие идеи, я подозреваю, что это связано с использованием памяти. Также вызов AuxClass2
каждый раз, когда пользователь перетаскивает мышь, также является плохой идеей.
Также JPanel vs Canvas (т.е. swing vs awt) немного запутан. Что используется и когда?
Я пытался найти обходные пути, но не нашел их, особенно для метода getGraphics()
: как еще можно добавить графику в панель?