我有在JPanel上顯示圖形的問題。我創建了三個相互關聯的類,如下所示。我想知道爲什麼這個代碼,不顯示我的繪圖。JPanel不顯示圖紙
c.add(pDraw);
pDraw.add(draw);
1)主
public class mainPage {
public static void main(String[]args){
JFrame appFrame = new Frame();
appFrame.setVisible(true);
appFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2)的JFrame
public class Frame extends JFrame implements ActionListener{
private drawingBoard draw;
public Frame(){
draw = new drawingBoard(); //generate pattern
GridBagLayout m = new GridBagLayout();
Container c = (Container)getContentPane();
c.setLayout (m);
GridBagConstraints con;
.......
JPanel pDraw = new JPanel();
pDraw.setPreferredSize(new Dimension(500,500));
.....
c.add(pDraw);
pDraw.add(draw); // Call other class for drawing
.....
setResizable(false);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
3)的JPanel
public class drawingBoard extends JPanel {
.....
public void paint(Graphics g) {
......
}
}
沒有佈局約束或'油漆(圖形)'代碼,這是一種很難調試。我的頭頂,由於佈局錯誤,'drawingBoard'的大小是0x0;或者你的油漆代碼不通。或者,您是否調試過您的代碼以確認「paint(Graphics)」被調用? – 2009-10-09 02:50:32
謝謝凱文,你說得對,我忘了設置drawingBoard的大小:-)。 paint()方法工作正常。再次感謝。 – Jessy 2009-10-09 03:27:24
應該已經發布作爲答案我猜。 :/ – 2009-10-09 03:59:35