这是我的代码,它的工作完美,并在JFrame
中绘制形状。每个方法都按名称调用,在我的程序中,我没有调用任何paintComponent()
方法。那么paintComponent()
方法的调用方法在哪里?
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class drawings extends JPanel {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame();
frame.setTitle("Shapes");
frame.setVisible(true);
frame.setBounds(150, 10, 1000, 700);
frame.setResizable(false);
frame.add(new drawings());
}
public void paintComponent(Graphics g){
g.setColor(Color.BLUE);
g.fillRect(20, 10, 200, 100);
g.setColor(Color.magenta);
g.fill3DRect(230, 10, 200, 100, false);
}
}
答案 0 :(得分:0)
您实际上并未明确调用该方法。当需要调用方法时,程序自行决定。它通常在发生变化时发生。
如果您有机会强制重绘,只需在视图类(或该对象)中调用方法repaint()
。
同样在paintComponent()
方法中,请确保您要做的第一件事就是致电super.paintComponent()
。