ActionListener для кнопок в цикле не работает - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть jpanel, в которой я добавляю переменное количество кнопок и затем ассоциирую слушателей действий с каждой из них. Я добавляю actionListener с помощью цикла. но когда я нажимаю на кнопки, ничего не происходит, я вижу другие ответы на эту тему, но они, кажется, не работают для меня. Пожалуйста, укажите на мою ошибку.

    jPanel4.setLayout(new GridLayout(20,2));

for(int i=1;i<=40;i++){
 JButton b1=new JButton(""+i);
jPanel4.add(new JButton(""+i));
b1.addActionListener(new ActionListener(){
    @Override
public void actionPerformed(ActionEvent evt){genactionPerformed(evt);}
});
}


private void genactionPerformed(ActionEvent evt){

    JOptionPane.showMessageDialog(null,"You clicked" +evt.getActionCommand());
    }

1 Ответ

2 голосов
/ 07 ноября 2019

Вы должны добавить b1 в jPanel, а не new JButton(""+i)).

jPanel4.add(b1);
...