Как запретить перерисовку компонента в java?

Пользователь

от aaron_armstrong , в категории: Java , 6 месяцев назад

Как запретить перерисовку компонента в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от josie , 5 месяцев назад

@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() и обновит содержимое компонента.