为什么在我运行代码时此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);
}
}


java - 绘制方法执行多次-LMLPHP

最佳答案

好吧,您的代码多次操作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方法可以处理该事件。

08-28 22:37