[問題] 為何剛執行時會進去paintComponent兩次?
因為對Swing和繪圖不熟,
google之後,也找不到原因(可能是因為很簡單?)
所以想請教一個基本的問題,
就是為何以下黄色敘述,在程式一開始執行的時候會印2次?
以及在resize frame時,也會印?
先謝謝了!
class MyDrawing extends JPanel {
@Override
public void paintComponent(Graphics g) {
System.out.println("################");
// 為什麼上一行會印兩次? 以及為何resize frame時, 也會印?
super.paintComponent(g);
g.drawLine(100, 100, 200, 200);
}
public static void main(String[] args) {
MyDrawing drawing = new MyDrawing();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
drawing.setPreferredSize(new Dimension(450, 450));
frame.getContentPane().add(drawing);
frame.pack();
frame.setVisible(true);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.149.14
推
02/20 17:34, , 1F
02/20 17:34, 1F
→
02/20 17:46, , 2F
02/20 17:46, 2F
推
02/20 19:02, , 3F
02/20 19:02, 3F
→
02/20 22:42, , 4F
02/20 22:42, 4F
推
02/21 15:57, , 5F
02/21 15:57, 5F
→
02/21 15:58, , 6F
02/21 15:58, 6F