У меня есть JPanel, на котором я нарисовал четыре прямоугольника. Цвет для каждого из этих прямоугольников выбирается случайным образом. Цвета должны меняться только тогда, когда пользователь нажимает на определенный прямоугольник.Перерисовать JPanel только после того, как размер окна окончен
Проблема заключается в том, что пользователь изменяет размер окна, все на JPanel повторно перерисовывается. Это приводит к тому, что прямоугольники быстро меняют цвет.
В идеале, мне нужны цвета прямоугольников, чтобы оставаться неизменным во время изменения размера. В противном случае я мог бы также управлять решением, в котором JPanel перекрашивается только один раз после завершения изменения размера.
Есть ли у вас общие идеи о том, как я могу это реализовать? Я чувствую, что было бы намного проще, если бы был метод onStartResize и onFinishResize callback в ComponentListener.
Спасибо!
собирался дать пять (хороший скриншот :-) - пока я не увидел ваш код: изменение состояния в paintComponent ... tsssee. Нельзя, это может создать неприятные петли! – kleopatra
Совершенно верно; это значит служить примером того, что делать не нужно. – trashgod