全局变量不按预期打印结果

时间:2014-12-10 16:30:02

标签: java global-variables setter getter-setter primitive

我有一个问题,并在努力查看我的错误。我有一个Level课程,我有一个按钮" A"。一旦点击它,它会将整数值1传递给setParam方法,该方法设置全局变量" value"这个方法中的system.out.print行按预期打印1,但是在Disp类中我有另一个按钮,当点击它时它应该显示1(因为全局变量先前已经设置为1),但对于某些我仍然得到0的原因。我哪里错了?

我得到的输出如下:

第一名:1,第二名:0 (期待第二名为1)

Level.java

public class Level
{
  Disp obj = new Disp();

  public void button() 
  {
    JButton btnA = new JButton("A");
    btnA.addActionListener(new ActionListener() 
    {
        public void actionPerformed(ActionEvent e) 
        {
            obj.setParam(1);
        }
    }
  } 
}

Disp.java

public class Disp 
{

int value = 0;

public void setParam(int value)
{
    this.value= value;
    System.out.println("first: "this.value);

}

btnclick.addMouseListener(new MouseAdapter() 
{
        public void mouseClicked(MouseEvent e) 
        {   
            System.out.println("second: "this.value);
        }
}
}       

1 个答案:

答案 0 :(得分:0)

当您使用addMouseListener时,您对

的引用
this

成为mouseListener

编辑:如果你把剩下的代码放在另一个按钮的位置,它可能会有所帮助,所以我可以给出解决方案,而不仅仅是出现问题的地方。