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.
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.
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.
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.