我编写了一个简单的绘图程序,并使用菜单http://download.oracle.com/javase/tutorial/displayCode.html?code=http://download.oracle.com/javase/tutorial/uiswing/examples/components/MenuLookDemoProject/src/components/MenuLookDemo.java来创建菜单。

因此,在显示菜单的程序中,我仅添加了以下几行:

    MenuDemo demo = new MenuDemo();
    frame.setJMenuBar(demo.createMenuBar());


当我启动程序时,菜单可以成功工作,但是另一方面,例如,当我单击菜单上的某项时,在方法“ actionPerformed”中,我想更改程序的布尔变量。但是“ MenuLookDemo.java”中存在“ actionPerformed”,因此无法访问变量。

你能建议一个解决方案吗?

谢谢

最佳答案

也许您可以重写类MenuDemo并将您的对象传递给MenuDemo来访问变量。

class MenuDemo{
  YourType obj;
  MenuDemo(YourType obj){
    this.obj = obj;
  }
  // Now you can access elements of obj
}

07-28 00:38