2013-02-22 62 views
1

我已經編寫了一些GUI編程,它有一個輸入按鈕,點擊後可以打開我創建的工具,但我也希望jbutton執行的操作是關閉第一個GUI關閉以及打開我創建的工具,我試圖更改setVisible(true/false);聲明,但它們只是隱藏了GUI,它不運行。所以總結一下,我想我的JButton有兩個功能,一個關閉當前的GUI,一個打開我創建的工具。如何關閉JButton上的圖形用戶界面點擊

我認爲這是與這個編碼,使enterButton關閉GUI:

public void actionPerformed(ActionEvent e){ 
    if(e.getSource() == enterButton){ 
     // coding to make the GUI exit??? 
    } 
} 
+0

爲什麼使用2個GUI而不是'CardLayout'或類似的?有關更多詳細信息,請參見[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/a/9554657/418556)。 – 2013-02-22 16:09:28

+0

我是一個初學者,我從來沒有聽說過卡片佈局@AndrewThompson – 2013-02-22 16:21:56

+1

你現在已經有了,所以找到一個搜索引擎並且爲它付出! – 2013-02-22 16:23:12

回答

2

您可以使用System.exit(0)這樣的:

public void actionPerformed(ActionEvent e){ 
    if(e.getSource() == enterButton){ 

     //coding to make the GUI exit??? 

     System.exit(0); 
    } 
} 

或使用dispose()

public void actionPerformed(ActionEvent e){ 
    if(e.getSource() == enterButton){ 
     //coding to make the GUI exit??? 

     this.dispose(); 
    } 
} 
+1

第一個建議只有在第二個GUI在單獨的'Process'中啓動時纔有效。如果第一幀設置了「DISPOSE_ON_CLOSE」,則第二個建議可能會起作用。 – 2013-02-22 16:11:47

+0

是的,第一個建議關閉了包括第二個GUI在內的整個事情 – 2013-02-22 16:21:00