我必须为学校做一个非常小的项目:使用JButtons用Java制作井字游戏,我有一个简短的问题。

这是代码:

public void FensterAufbauen() {
    int i = 0;
    myPanel.setLayout(null);
    myButton.setText("");
    myButton.setBounds(40,70,80,80);
    myButton.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent arg0) {
            if (i % 2 == 0){
            myButton.setText("X");
            }
            else {
            myButton.setText("O");
            }
            i++;
        }
    });
}


现在如何将int i添加到动作监听器中
(我对所有9个按钮都有此功能,所以我不能只在监听器中定义i)?
如果在这里有些草率,对不起,我很抱歉-Java非常陌生

最佳答案

如果您想从匿名内联类访问它,我必须是最终的:

final int i = 0;


那当然意味着您不能再更改它。因此,应将i声明为周围类中的非最终私有变量,而不是局部变量。或者,您也可以将i声明为ActionListener内部的私有变量,位于actionPerformed()函数上方。

关于java - 将外部int添加到 Action 监听器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62074481/

10-15 14:54