2012-04-13 94 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