我已經查看了如何在單擊按鈕時只打開一個窗口的主題,但沒有任何解決方案可以幫助,也許是因爲我的代碼結構有點不同。只在操作中打開一個窗口已執行
所以我有一個主窗口類擴展JFrame和其中一個按鈕應該打開一個新窗口點擊。我已經在單獨的課程中爲新窗口定義了窗口小部件/面板等。目前,我每次點擊按鈕時都會打開一個新窗口。我想這樣做,如果一個窗口已經打開,那麼一旦再次點擊該按鈕,它將切換到該窗口。
這裏有點我的代碼:
public class MainWindow extends JFrame{
/*
* create widgets and panels
*/
Button.addActionListener(new ActionListener() { // the button that opens
//a new window
@Override
public void actionPerformed(ActionEvent e) {
Window2 ww = new Window2(); //creating the new window here
}
});
}
NB。如果有任何幫助,Window2類也擴展JFrame。
感謝
你必須在你的MainWindow類中存儲你的Window2對象,當你的行爲被執行時,你創建/顯示/放在前臺 – Athanor
*「我已經瀏覽了關於如何只打開一個窗口的主題..」*什麼是這些主題的鏈接? –
*「Window2類也擴展JFrame,..」*不要擴展框架,也不要有兩個框架。請參閱[使用多個JFrames,好的/壞的實踐?](http://stackoverflow.com/a/9554657/418556)請注意,如果第二個「窗口」實際上是一個模式的「JDialog」,則不可能讓用戶同時打開它兩次。 –