0

すべての menuItems などを含むメニューを作成するクラスがあり、最初のクラスから JMenu を与える JMenu を持つ多くの UI があります。私の問題は、メニューに他の UI を開く多くの項目があることです。1 つが開かれ、現在のウィンドウが閉じられるようにするにはどうすればよいですか?

私がしていることの非常に短いバージョンは次のとおりです。

メニュー:

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

UI :

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

これは単にアイデアを確認するためのものであり、コードははるかに複雑ですが、表示しても役に立たないことに注意してください。私がこれを行う理由は、すべての UI に膨大な量の反復可能なコードを追加するほど巨大なメニューがあるためです。

4

2 に答える 2

0

camickr が提供したコードを使用して、最初のフレームの可視性をオフにし、他のフレームが読み込まれるようにすることで、この問題を完全に修正しました。コードは次のとおりです。

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

それが人々を助けることを願っています

于 2013-07-21T09:42:03.907 に答える