我需要通過覆蓋JPanel的paintComponent()方法在JPanel上繪製圖形。在JPanel上繪圖並將JPanel添加到JFrame中
當我通過JFrame拖放一個JPanel來設計使用NetBeans的GUI時,它通過創建一個私有變量JPanel對象來生成代碼。在這種情況下,我怎麼能覆蓋它的方法來繪製它...
否則,如果我通過擴展JPanel編寫類的代碼並重寫繪製它的方法,我必須創建一個新的JFrame和添加JPanel到它..
JFrame fr = new JFrame(); fr.add(pane); //窗格是擴展JPanel的類的對象,其中我繪製了 fr.setVisible(true);
在這種情況下,它的工作原理..
但是,如果我得到它通過NetBeans的擴展JFrame中自動創建類的參考和使用,使用引用的add方法添加的JPanel了它doesn」將不起作用......
class x extends JPanel
{
paintComponent(Graphics g){ //overridden method
//my code for drawing say lines goes here..
}
}
class y extends Thread
{
z obj;
y(z obj){
this.obj=obj;
}
public void run(){
x pane=new x();
pane.setVisible(true);
obj.add(pane);
obj.setVisible(true); //im not getting the pane visible here.. if i created a new JFrame class here as i said earlier and added the pane to it i can see it..
}
}
class z extends JFrame
{
z(){//code generated by netbeans}
public static void main(String args[])
{
new y(new z()).start();
}
}
這表明沒有錯誤,但是當我運行該程序只JFrame中可見..不顯示的JPanel ...
原諒我,如果這個問題是愚蠢的..即時通訊初學者..
在此先感謝...