关于previous problem,我现在有一个新问题。为了避免内部类,我的类现在实现了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);
        }
    }

如何使听众听我的按钮A到Z?因为它只能收听的最后一个按钮,在这种情况下,它是按钮Z。

谢谢。

最佳答案

您的听众可以很好地听所有按钮的事件。您的问题是您似乎认为只能操作类字段。实际上,您完全不需要letterButton字段来完成您要执行的操作:

public void actionPerformed (ActionEvent action){
    ((JButton)action.getSource()).setEnabled(false);
}

09-26 02:14