对于家庭作业,我必须制作一个 Java 程序,在单击“开始”按钮时在 jframe 上绘制一个红色圆圈。单击按钮时,将setSmallCircle
调用该方法。这确实有效,但在这个方法中我正在调用repaint()
,但这似乎没有调用该paintComponent
方法。
到目前为止,这是我的代码:
import java.awt.*;
import javax.swing.*;
class ReactionPanel extends JPanel {
Color color;
int size;
public void paintComponent(Graphics g){
System.out.println("paintcomp 1");
super.paintComponent(g);
System.out.println("paintcomp 2");
g.setColor(color);
g.fillOval(200, 200, size, size);
}
public void setSmallCircle(Color c){
color = c;
size = 10;
System.out.println("drawing");
repaint();
System.out.println("repaint called");
}
}
该方法setSmallCircle(Color.red)
被其他一些类调用。有谁知道为什么“repaint()”没有画一个红色圆圈?