2012-04-13 4 views
0

У меня есть программа, которая проверяет номера, если они простые. У меня есть базовый GUI, который содержит текстовое поле и кнопку под названием check. Теперь я расширил эту программу, добавив простую клавиатуру с графическим интерфейсом. В оригинальном графическом интерфейсе я добавил новую кнопку под названием клавиатура, поэтому при нажатии она откроет клавиатуру с графическим интерфейсом и отключит контрольную кнопку. Теперь мой вопрос заключается в том, как снова включить кнопку проверки, если окно клавиатуры с графическим интерфейсом закрыто? Ниже приведен фрагмент моего кода:как я могу снова включить 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.addWindowListener(this); 

Затем вам понадобится implement WindowListener и добавьте соответствующие методы.

Вот в Java Tutorial на окно Слушателей: http://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html

+0

Благодаря отчислять и keyboardgui является клавиатура, жаль об этом! –

+0

нет, я просто говорю, что не уверен, что за ним стоит этот код. Я вижу несколько способов сделать слушатель (который зависит от того, как вы реализовали клавиатуру), но я думаю, что как только вы прочтете учебник по java, вы сможете понять остальное. –

+0

@BabatundeOmodayo: решение Youssef является хорошим (1+) для этого ответа, и для этого вам, вероятно, следует принять его. Еще одно соображение заключается в отображении окна чисел в модальном диалоге, таком как JDialog. Тогда вам даже не нужно отключать кнопку проверки, потому что она не будет доступна, пока модальное диалоговое окно больше не будет видно. –

Смежные вопросы