web-dev-qa-db-fra.com

paint () et repaint () en Java

J'ai passé peut-être les deux dernières heures à parcourir et à lire ces méthodes et la classe Graphics, et peut-être que je suis stupide, haha, mais je ne les comprends tout simplement pas. À quoi servent-ils? Je comprends qu’ils sont supposés redessiner ou mettre à jour des composants à l’écran, mais je n’ai jamais compris pourquoi c’était nécessaire (je suis novice dans ce domaine). Par exemple, si je déplace un JLabel sur l'écran, un appel à setLocation () le déplace parfaitement. Est-ce un scénario dans lequel repaint () n'est pas requis? Dans quels scénarios est-ce utile et pourquoi?

Veuillez nous excuser si vous estimez que cette question pourrait être résolue à l’aide de la fonction de recherche, mais pour une raison quelconque, je ne l’ai pas.

18
Daniel

Différence entre les méthodes Paint () et Repaint ()

Peindre():

Cette méthode contient des instructions pour peindre ce composant. En fait, dans Swing, vous devriez changer paintComponent () au lieu de Paint (), puisque Paint appelle paintBorder (), paintComponent () et paintChildren (). Vous ne devriez pas appeler cette méthode directement, vous devriez plutôt appeler repaint ().

Repeindre():

Cette méthode ne peut pas être remplacée. Il contrôle le cycle update () -> Paint (). Vous devez appeler cette méthode pour qu'un composant se repeigne. Si vous avez fait quelque chose pour changer l'apparence du composant, mais pas sa taille (comme changer de couleur, animer, etc.), appelez cette méthode.

20
Siva Charan

La méthode Paint() prend en charge la peinture via un objet Graphics. 

La méthode repaint() permet d’appeler Paint() par le thread de peinture AWT.

4
KAPIL JAGTAP NASIK

Il n'est pas nécessaire d'appeler repeindre sauf si vous devez rendre quelque chose de spécifique sur un composant. "Quelque chose de spécifique" signifie tout ce qui n'est pas fourni en interne par la trousse à outils que vous utilisez.

0
blend