2012-04-13 93 views
0

我有一個程序,測試數字,如果他們是質數。 我有一個基本的圖形用戶界面,其中包含一個文本框和一個稱爲檢查的按鈕。現在,我已經通過添加一個簡單的GUI數字鍵盤來擴展該程序。在原始GUI上,我添加了一個名爲的新按鈕,鍵盤因此當按下時,它將打開GUI數字鍵盤並禁用檢查按鈕。現在我的問題是,如果GUI數字小鍵盤窗口已關閉,如何重新啓用檢查按鈕? 下面是我的代碼片段:如何重新啓用JButton

 if (event.getSource()==jbKeyboard) { 
      jbCheck.setEnabled(false);  
      KeyboardGui g = new KeyboardGui(); 
      if (g.equals(DISPOSE_ON_CLOSE)) { 
        jbCheck.setEnabled(true); 
      } 
     } 

但這不起作用。

回答

2

您添加WindowListener的鍵盤,並在WindowClosing(WindowEvent e)方法,你可以做你jbCheck.setEnabled(true);

不知道什麼KeyboardGui,但這樣的事情(加入你聲明並初始化g)之後:

g.addWindowListener(this); 

然後您將需要implement WindowListener並添加適當的方法。

這裏是Java教程窗口聽衆: http://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html

+0

感謝配發,而keyboardgui是鍵盤,我們對此深感抱歉! – 2012-04-13 12:42:46

+0

不,不,我只是說我不確定它背後的代碼是什麼。我可以看到一些做監聽器的方法(這取決於你如何實現鍵盤),但是我認爲一旦你閱讀了java教程,你將能夠找出其餘的部分。 – 2012-04-13 12:44:22

+0

@BabatundeOmodayo:Youssef的解決方案是一個很好的答案(1+),爲此,你應該接受它。另一個考慮是在模態對話框(如JDialog)中顯示數字窗口。然後,您甚至不必首先禁用檢查按鈕,因爲在模式對話框不再可見之前它將無法訪問。 – 2012-04-13 23:10:32