2012-05-08 4 views
0

Вот часть ActionListener моего кода. Сфокусируйтесь на кнопке сброса.Java - Я не могу заставить двух действительных исполнителей работать правильно

public void actionPerformed(ActionEvent e) { 
    int i; 
    for (i = 0; i < 26; i++) { 
     if (e.getSource() == a[i]) { 
      consultWord(i); 
     } 
    } 

    if (e.getSource() == reset) { 
     Hangman gui = new Hangman(); 
     System.out.print("test"); 
     gui.go(); 
    } 
} 

Очевидно, что над ним гораздо больше (так как это находится на ОЧЕНЬ конце). Button array 1 (оператор top if) работает отлично. Кнопка 2 (нижний оператор) не работает вообще. Текст тестового вывода не отображается. Здесь я объявляю переменные. (Они доступны для всего кода).

JButton reset = new JButton("Reset"); 
private Button a[]; 

И если это что-то для вас значит, вот код для настройки кнопок [].

int i; 
StringBuffer buffer; 
a = new Button[26]; 
topPanel.setLayout(new GridLayout(4,0, 10, 10)); 
for (i = 0; i <26; i++) { 
    buffer = new StringBuffer(); 
    buffer.append((char)(i+'a')); 
    a[i] = new Button(buffer.toString()); 
    a[i].setSize(100,100); 
    a[i].addActionListener(this); 
    topPanel.add(a[i]); 
} 

Любые идеи, почему моя нижняя кнопка не приседает? При необходимости я вставлю весь свой код.

ответ

0

Возможно, вы просто забыли добавить ActionListener в свою reset кнопку? Это отсутствует из кода выше ...


В качестве примечания некоторые предложения, чтобы сделать код понятнее:

  • StringBuffer не требуется: просто использовать String.valueOf((char)(i+'a'))
  • Я не хотел бы использовать тот же ActionListener для всех кнопок у вас есть, так как это загромождает ваш метод actionPerformed. Anonymous inner classes может быть полезен здесь.
Смежные вопросы