1. 程式人生 > >paintComponent中呼叫setSize方法

paintComponent中呼叫setSize方法

一段困繞了近半個月的程式碼:
 public void paintComponent(Graphics g)
 {
  super.paintComponent(g);
 // System.out.println(image.getWidth()+" "+image.getHeight());
  g.drawImage(image,0,0,image.getWidth(),image.getHeight(),null);
  setSize(image.getWidth(),image.getHeight());
 }。
直到今天才明白錯誤的原因-----我竟然在paintComponent方法中對面板的大小進行了設定(setSize()),我怎麼會傻到如此地步呢,不過說來也搞笑。在paintComponent中呼叫JPanel的setSize方法,哈哈……,呼叫setSize方法後,JPanel就又會自動的去呼叫paintComponent方法,這樣就形成的死迴圈。哈哈……我竟然會犯這種錯誤。