Maison  >  Article  >  Java  >  repeindre en Java

repeindre en Java

PHPz
PHPzoriginal
2024-08-30 15:38:22190parcourir

La méthode repaint en Java est disponible dans la classe java.applet.Applet est une méthode finale utilisée chaque fois que nous voulons appeler la méthode update avec l'appel à la méthode paint ; L'appel à la méthode update efface la fenêtre actuelle, effectue une mise à jour et appelle ensuite la méthode paint.

PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulés

Syntaxe :

package <packagename>;
// class extending applet
public class <classname> extends Applet{
public method <methodName>(<arguments>){
repaint();             // calling repaint method when required
}
}

La syntaxe ci-dessus montre comment une méthode de repaint est utilisée en Java. La méthode repaint fait partie de la classe java.applet.Applet et ne peut pas être remplacée. Par conséquent, la méthode repaint peut être directement appelée depuis une classe étendant Applet ou ses sous-classes.

Comment fonctionne repeindre en Java ?

La méthode repaint est une méthode finale disponible dans la classe Applet, et c'est pourquoi elle ne peut pas être remplacée. Chaque fois que la méthode repaint doit être utilisée, elle doit être appelée directement depuis les sous-classes de la classe Applet. La méthode repeindre est responsable de la gestion de la mise à jour du cycle de peinture de l’applet. Chaque fois que nous voulons qu'un composant se repeint, nous devons appeler la méthode repaint. Si nous avons modifié l'apparence d'un composant mais n'avons apporté aucune modification à sa taille, nous pouvons alors appeler la méthode repaint pour mettre à jour la nouvelle apparence du composant sur l'interface utilisateur graphique. La méthode repaint est une méthode asynchrone de classe applet. Lorsque l'appel à la méthode repeindre est effectué, il effectue une demande d'effacement et effectue un redessin du composant après un petit délai.

Chaque fois que la méthode repaint est invoquée à partir d'un composant, une requête est envoyée à l'interface utilisateur graphique, qui communique avec l'interface utilisateur graphique pour effectuer une action à un moment ultérieur. L'idée derrière la méthode repaint est d'éviter l'appel direct à la méthode paint ().

Exemples d'implémentation de la méthode repaint en Java

Nous allons maintenant voir quelques exemples Java montrant l'utilisation de la méthode repaint :

Exemple n°1

Voici un exemple montrant comment la méthode repaint est utilisée en java :

Code :

package com.edubca.repaintdemo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.applet.Applet;
// class extending applet component and implementing mouse event listener
public class RepaintDemo extends Applet implements MouseListener {
private Vector vector;
public RepaintDemo() {
vector = new Vector();
setBackground(Color.red);
addMouseListener(this);
}
public void paint(Graphics graphics) { // paint method implementation
super.paint(graphics);
graphics.setColor(Color.black);
Enumeration enumeration = vector.elements();
while(enumeration.hasMoreElements()) {
Point p = (Point)(enumeration.nextElement());
graphics.drawRect(p.x-20, p.y-20, 40, 40);
}
}
public void mousePressed(MouseEvent mouseevent) {
vector.add(mouseevent.getPoint());
repaint(); // call repaint() method
}
public void mouseClicked(MouseEvent mouseevent) {}
public void mouseEntered(MouseEvent mouseevent) {}
public void mouseExited(MouseEvent mouseevent) {}
public void mouseReleased(MouseEvent mouseevent) {}
public static void main(String args[]) {
JFrame frame = new JFrame(); // creating a jFrame object
frame.getContentPane().add(new RepaintDemo());      // Adding Window
frame.setTitle("Repaint Method Demo");       // set title of the window
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setSize(375, 250);    // set size of window
frame.setVisible(true);        // set window as visible
}
}

Sortie : 

repeindre en Java

Une fois l'événement de clic de souris effectué, les formes suivantes seront visibles avec une bordure de couleur noire. Notez que cela se fait via la méthode repaint, qui appelle la méthode update puis paints, grâce à laquelle nous pouvons voir les formes visibles immédiatement après l'exécution de l'événement de clic.

repeindre en Java

Exemple n°2

Pour apporter plus de clarté sur l'utilisation de la méthode repeindre, voici un autre exemple :

Code :

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.applet.Applet;
import java.awt.Graphics;
// class extending
public class RepaintDemo extends Applet  {
int test=2;
public void paint(Graphics graphics)
{
super.paint(graphics);
setBackground(Color.cyan);   // set backgroung color of window
graphics.setColor(Color.black);   // set color of Text appearing on window
graphics.drawString("Value of Variable test = "+test, 80, 80);
try
{
Thread.sleep(1000);
}
catch(InterruptedException ex){}
// increasing value of variable by 1 and update its value of GUI
test++;
repaint();
}
}

Sortie :

repeindre en Java

Dans l'exemple ci-dessus, nous avons une applet et une variable appelée test est déclarée à l'intérieur. Nous incrémentons continuellement la valeur de la variable test et nous voulons nous assurer que la valeur mise à jour de la variable est visible sur l'interface utilisateur. Par conséquent, nous utilisons la méthode repaint qui garantit l’appel de la méthode update avant la méthode paint. La sortie du programme ci-dessus. Dans cette fenêtre de valeur du test, la variable est toujours incrémentée et la valeur mise à jour est visible sur l'interface graphique.

Conclusion

L'exemple ci-dessus fournit une compréhension claire de la méthode de repeinture et de sa fonction. Nous devons appeler la méthode repaint lorsque nous voulons que le cycle de mise à jour et de peinture de l’applet soit invoqué. La méthode repaint appelante effectue une mise à jour immédiate de l'apparence et de l'apparence d'un composant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:remplacerAll() en JavaArticle suivant:remplacerAll() en Java