O método repaint() em Java

Mohammad Irfan 12 outubro 2023
O método repaint() em Java

Este tutorial apresenta o método repaint() em Java.

O método repaint() pertence à classe Component que se encontra no pacote java.awt. Este método é usado para chamar o método update() internamente que chama o método paint() para redesenhar o componente. Os métodos paint() e repaint() são usados ​​para pintar um componente, mas o método repaint() chama internamente paint () para pintar o componente. Não podemos substituir o método repaint().

A classe Component fornece essas variações sobrecarregadas do método repaint(). Podemos usar de acordo com a necessidade.

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)

Vamos ver um exemplo para entender como funciona o método repaint().

o método repaint() em Java

Aqui, temos um exemplo de AWT que desenha ovais quando o mouse é clicado. Primeiro, substituímos o método paint() e definimos alguns pontos para o oval, então em mousePressed(), chamamos o método repaint() que chamará o método paint() após chamar o update() método. Veja o exemplo abaixo.

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) {}
}