Swing java,使用菜单时关闭特定窗口

时间:2013-07-20 14:28:18

标签: java swing

我有一个类,它创建一个包含所有menuItem等的菜单,然后我有许多UI,其中有一个JMenu,我从第一个类中给出了JMenu。我的问题是菜单有很多项打开其他用户界面,如何进行检查以便打开一个,当前窗口关闭?

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

菜单:

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

用户界面:

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

希望它会帮助人们