为什么在我运行代码时此paint函数执行多次?
我只尝试运行此代码一次,但是它执行了很多次,我不知道为什么这样做!
public class DrawFrame extends JFrame {
@Override
public void paint(Graphics g) {
System.out.println("hello Frame");
}
}
public class NJFrame {
public static void main(String[] args) {
DrawFrame NJFrame = new DrawFrame();
NJFrame.setSize(1000, 1000);
NJFrame.setVisible(true);
NJFrame.setLocation(400, 150);
NJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
最佳答案
好吧,您的代码多次操作JFrame:
DrawFrame NJFrame = new DrawFrame(); // (1) Create the frame
NJFrame.setSize(1000, 1000); // (2) Resize the frame
NJFrame.setVisible(true); // (3) Show the frame
NJFrame.setLocation(400, 150); // (4) Move the frame
似乎这些操作中的每一个都会引发Paint事件,您的
paint
方法可以处理该事件。