0

基本上我想做的是在Java中执行动作事件时编辑一个int。几天来我一直试图弄清楚这一点 D:。我曾尝试使用数组来做到这一点,但也没有成功。

问题是 edit int 不一定要针对整个 main 方法进行编辑,因为它是在单独的方法中进行编辑的。我想要做的基本上是能够判断所执行的操作是否实际执行。

如果您能告诉我一种不同的方式来判断是否执行了比编辑 int 更好的操作,请告诉我。

oButton9.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
            xButton9.setVisible(false);
            oButton9.setVisible(false);
            nine.repaint();
            nine.add(olabel);
            int x =1;
    }      
} );  

if (x == 1) {
    blah blah blah
}
4

3 回答 3

0

您需要考虑变量的范围。你的“x”必须是一个实例变量,然后你就可以随意使用它了。

于 2013-10-19T07:23:22.960 回答
0

您现在所做的是更改局部变量 i 的值,您必须在类中声明实例变量并更改其值,因为只有这样您才能在其他方法中使用它。

于 2013-10-19T07:25:11.613 回答
0

您必须注意,在运行之后oButton9.addActionListener(...),该if语句将立即运行,因此即使您可以以某种方式设置xfrom actionPerformed,它也不会有用,因为程序流程不会在调用addActionListener之前停止。actionPerformed

如果您在单击按钮时尝试执行某些操作,为什么不将其放入actionPerformed函数中?

顺便说一句,您可以将x变量定义为类中的字段,然后:

class Test {
    ...
    public int x = 0;

    public void doSomething() {
        ...
        oButton9.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Test.this.x = 1;
            }
        });
        ...
    }

    public static void main(String[] args) {
        new Test().doSomething();
    }
}
于 2013-10-19T07:22:01.220 回答