Die repaint() Methode in Java

Mohammad Irfan 12 Oktober 2023
Die repaint() Methode in Java

Dieses Tutorial stellt die Methode repaint() in Java vor.

Die Methode repaint() gehört zur Klasse Component, die im Paket java.awt liegt. Diese Methode wird verwendet, um intern die Methode update() aufzurufen, die die Methode paint() aufruft, um die Komponente neu zu zeichnen. paint() und repaint() werden beide verwendet, um eine Komponente zu malen, aber die Methode repaint() ruft intern paint() auf, um die Komponente zu malen. Wir können die Methode repaint() nicht überschreiben.

Die Klasse Component stellt diese überladenen Varianten der Methode repaint() bereit. Diese können wir je nach Bedarf verwenden.

public void repaint() public void repaint(long tm) public void repaint(int x, int y, int width,
    int height) public void repaint(long tm, int x, int y, int width, int height)

Sehen wir uns ein Beispiel an, um zu verstehen, wie die Methode repaint() funktioniert.

Die Methode repaint() in Java

Hier haben wir ein Beispiel für AWT, das beim Klicken mit der Maus Ovale zeichnet. Zuerst überschreiben wir die Methode paint() und setzen einige Punkte für das Oval, dann rufen wir in mousePressed() die Methode repaint() auf, die die Methode paint() nach dem Aufruf von update() aufruft Methode. Siehe das Beispiel unten.

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class SimpleTesting extends JPanel implements MouseListener {
  private Vector v;
  public SimpleTesting() {
    v = new Vector();
    setBackground(Color.white);
    addMouseListener(this);
  }
  public static void main(String args[]) {
    JFrame frame = new JFrame();
    frame.getContentPane().add(new SimpleTesting());
    frame.setTitle("Repaint Method");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setSize(375, 250);
    frame.setVisible(true);
  }
  public void paint(Graphics g) { // paint() method
    super.paint(g);
    g.setColor(Color.black);
    Enumeration enumeration = v.elements();
    while (enumeration.hasMoreElements()) {
      Point p = (Point) (enumeration.nextElement());
      g.drawOval(p.x - 20, p.y - 20, 40, 40);
    }
  }
  public void mousePressed(MouseEvent me) {
    v.add(me.getPoint());
    repaint(); // call repaint() method
  }
  // MouseListener method blank implementation
  public void mouseClicked(MouseEvent me) {}
  public void mouseEntered(MouseEvent me) {}
  public void mouseExited(MouseEvent me) {}
  public void mouseReleased(MouseEvent me) {}
}