0

我有一个类,它创建一个包含所有 menuItems 等的菜单,然后我有许多具有 JMenu 的 UI,在其中我从第一堂课中给出 JMenu。我的问题是菜单有许多打开其他 UI 的项目,我如何进行检查以便打开一个,关闭当前窗口?

我所做的一个非常简短的版本是:

菜单:

public Menu()
{       
    menuBar = new JMenuBar();
    }
    public JMenuBar makeMenu()
    {
         return menuBar;
     }

用户界面:

public UI()
{
 JMenuBar menu = Menu.makeMenu();
 }

请注意,这只是为了看到这个想法,代码要复杂得多,但显示起来毫无用处。我这样做的原因是我有一个巨大的菜单,它会为所有 UI 添加大量可重复的代码。

4

2 回答 2

1

假设每个窗口都有自己的菜单栏,那么您可以使用Closing an ApplicationExitAction中的类。

于 2013-07-20T14:44:54.190 回答
0

使用 camickr 提供的代码,我通过在加载另一帧时关闭第一帧的可见性来完美解决这个问题,这样系统不会关闭,因为 ExitAction 代码在其他任何内容出现之前就关闭了。代码如下:

for (Window frame : Window.getWindows())
        {
            if (frame.isActive())
            {
                frame.setVisible(false);
            }
        }

希望对人们有所帮助

于 2013-07-21T09:42:03.907 回答