У меня есть класс, который расширяет JFrame и открывает окно (фрейм). Я успешно добавил jpanel и jscrollpane, которые используют эту панель.
У меня есть Jbutton на jpanel, который использует actionlistener и будет вызывать перекрашивание (или paintComponents, в зависимости от того, что вы считаете лучше) каждый раз, когда я нажимаю кнопку.
Проблема в том, что то, что окрашивается, стирается, когда я прокручиваю окрашенный материал.
JButton остается и не перерисовывается, но то, что окрашивается, стирается.
Итак, мой вопрос: как рисовать вне JViewport на панели JScrollpane?
Я тщетно пытался экспериментировать с методами класса Graphics, такими как Graphics.setClip()
и JViewport.setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE)
...
метод setClip()
фактически противоположен тому, что я хочу сделать. Он ограничивает область рисования выбранного компонента, когда на самом деле я хочу расширить область, которая будет окрашена, - я хочу нарисовать (и продолжать рисовать) область вне области просмотра.