2015-01-03 5 views
0

Я создаю сетку кнопок, и я хочу, чтобы кнопки были нажаты только один раз. В моем стекле сетки я пытаюсь установить кнопки setEnabled (false) в моем actionListener. Проблема в том, что я пытаюсь сделать это с помощью цикла for, и у меня есть набор кнопок, поэтому мне нужна переменная (это только часть кода, я вынул ту часть, где я объявил и создал свои кнопки)Имейте переменную во внутреннем классе

public Grid() 
{ 

    setLayout(new GridLayout(5,5)); 
    final JButton[] buttons = new JButton[25]; 
    for(int i = 0; i < buttons.length; i++) 
    { 
     buttons[i].addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 

       String inputValue = JOptionPane.showInputDialog("Input"); 
       buttons[i].setEnabled(false); 
      } 
     }); 
    } 



} 

ответ

1

Вы можете получить ссылку на кнопку, в которой произошло событие (JButton) e.getSource()

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