2
想象一下這種情況。我有主要的JFrame窗口和另一個從主窗口彈出,通過按鈕單擊。如果我想通過單擊彈出窗口上的按鈕來重新繪製主窗口中的圖形,我應該怎麼做?重新繪製主框架
想象一下這種情況。我有主要的JFrame窗口和另一個從主窗口彈出,通過按鈕單擊。如果我想通過單擊彈出窗口上的按鈕來重新繪製主窗口中的圖形,我應該怎麼做?重新繪製主框架
彈出的窗口需要對主窗口的引用。因此,在彈出窗口的構造函數中,您將接受對主窗口的引用並將其保留直到需要。
在主窗口中,您可以編寫一個方法update(),該方法可以從彈出的窗口中調用,並使主窗口相應地重新繪製自己。例如:
PoppedUpWindow win = new PoppedUpWindow(this);//this is the main window
,並在彈出窗口:
MainWindow mainWin;
JButton btn;
public PoppedUpWindow(MainWindow mwin){
mainWin = mwin;
btn = new JButton("Click to Update");
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
mainWin.update();
}
});
}
如果兩個類已經由JFrame擴展是什麼?我的意思是,通過在主窗口中創建另一個PoppedUpWindow對象,在運行程序之後,它只彈出兩個Jframes。 – Medardas 2011-05-19 21:52:32
同樣的事情適用。重點在於poppedupwindow需要對主窗口的引用。所以先創建主窗口,然後將它傳遞給poppedupwindow。 – 2011-05-19 23:14:33
明白了,謝謝=] – Medardas 2011-05-20 13:22:55