Java实现了ActionListener问题

new*_*bie 3 java swing

关于我之前的问题,我现在遇到了一个新问题.为了避免内部类,我的类现在实现了一个actionListener.我的代码如下:

public class MainGame extends JDialog implements ActionListener {

    public MainGame(JDialog owner) {
        super(owner, true);
        initComponents();
        jPanel1.setLayout(new GridLayout(3, 9, 3, 5));
        for (char buttonChar = 'a'; buttonChar <= 'z'; buttonChar++) {
            String buttonText = String.valueOf(buttonChar);
            letterButton = new JButton(buttonText);
            letterButton.addActionListener(this);
            jPanel1.add(letterButton);
        }

        newGame();
    }

    public void actionPerformed (ActionEvent action){
        if (action.getSource() == letterButton) {
            letterButton.setEnabled(false);
        }
    }
Run Code Online (Sandbox Code Playgroud)

如何影响我的按钮A到Z的监听器?因为它可以收听的是最后一个按钮,在这种情况下是按钮Z.

谢谢.

Mic*_*rdt 5

你的听众可以很好地收听所有按钮的事件.你的问题是你似乎相信你只能操纵类字段.事实上,你根本不需要这个letterButton领域来做你想做的事情:

public void actionPerformed (ActionEvent action){
    ((JButton)action.getSource()).setEnabled(false);
}
Run Code Online (Sandbox Code Playgroud)