有内在变量

时间:2015-01-03 22:01:07

标签: java grid jbutton inner-classes

我正在制作一个按钮网格,我希望按钮只能被点击一次。在我的网格玻璃中,我试图在actionListener中将按钮设置为setEnabled(false)。问题是我试图通过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 个答案:

答案 0 :(得分:1)

您可以获取对触发事件的按钮的引用(JButton) e.getSource()