@aaron_armstrong
В Java можно запретить перерисовку компонента, переопределив метод paint()
в пользовательском компоненте и просто не вызывая super.paint()
. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 |
import java.awt.Graphics; import javax.swing.JPanel; public class MyPanel extends JPanel { @Override public void paint(Graphics g) { // Don't call super.paint(), which would erase the component and trigger a repaint // super.paint(g); // Your custom painting code goes here } } |
В этом примере, переопределение метода paint()
в пользовательском компоненте MyPanel
позволяет нарисовать что-то на панели, без вызова метода super.paint()
, который обычно стирает все предыдущие нарисованные элементы и вызывает перерисовку компонента.
Если вам нужно обновить компонент, вызовите метод repaint()
. Он вызовет метод paint()
и обновит содержимое компонента.