paint() et repaint () en Java

j'ai passé peut-être les deux dernières heures à parcourir et à lire sur ces méthodes et le cours de graphisme, et peut-être que je suis stupide, haha, mais je ne les comprends pas. Quels sont-ils? Je comprends qu'ils sont censés redessiner ou de mise à jour des composants sur l'écran, mais je n'ai jamais compris pourquoi cela est nécessaire (je suis nouveau). Par exemple, si je déplace un JLabel autour de l'écran, un appel à setLocation() le déplace très bien. Est-ce un scénario dans lequel repeindre() n'est pas nécessaire? Dans quels sont les scénarios utiles et pourquoi?

excuses si vous pensez que c'est une question qui pourrait être résolue en utilisant la fonction de recherche, mais pour une raison quelconque, Je ne l'obtiens pas.

18
demandé sur richarbernal 2012-05-26 22:06:55

3 réponses

Différence entre la Peinture() et Repaint() la méthode

Paint ():

cette méthode contient des instructions pour peindre ce composant. En fait, dans Swing, vous devriez changer paintComponent() au lieu de paint (), comme paint calls paintBorder (), paintComponent() et paintChildren(). Vous ne devriez pas appeler cette méthode directement, vous devriez appeler repaint() à la place.

Repaint ():

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

20
répondu Siva Charan 2018-03-06 05:42:17

paint() la méthode supporte la peinture via un objet graphique.

repaint() la méthode est utilisée pour causer paint() pour pouvoir être invoquée par l'AWT peinture thread.

4
répondu KAPIL JAGTAP NASIK 2012-09-21 09:45:24

il n'est pas nécessaire d'appeler repaint sauf si vous avez besoin de rendre quelque chose spécifique sur un composant. "Quelque chose de spécifique" signifie Tout ce qui n'est pas fourni à l'interne par la boîte à outils de fenêtrage que vous utilisez.

0
répondu blend 2012-05-26 18:24:33