如何使用JMenu项在JFrame中打开新窗口

时间:2013-12-14 20:08:35

标签: java windows jframe

我对你有疑问:如何使用JMenu项目在JFrame中打开新窗口并同时关闭前一个窗口。请不要将我发送给JFrame文档,因为它对我没有帮助,如果可能,请更好地向我展示代码。我现在有什么?我在我的应用程序中创建了一个新函数来调用它们,然后打开新窗口。代码如下所示:

这里我为JMenu项添加了Listener。应该清楚什么。

  JMenuItem wyswietlbaza = new JMenuItem("Wyswietl baze");
        akcja.add(wyswietlbaza);
        wyswietlbaza.addActionListener(this);

//在这里,我调用一个方法打开窗口并关闭另一个窗口。

public void actionPerformed(ActionEvent e){  

    new BazaDanych().setVisible(true);  
    this.dispose();
    }

这种方式只有在我有一个窗口(一些主窗口和另一个窗口,例如window2)时才有效。当我有3个窗口时,即使我创建了如下所示的另一个函数,我的代码也会停止正常工作:

 public void actionPerformed1(ActionEvent e){  

        new ZmienBaza().setVisible(true);  
        this.dispose();
      } 

我的问题:如何为他们添加另一个窗口和监听器?我只想制作几个应该由JMenu项打开的窗口并同时关闭(第一次关闭第二次打开)但现在我的监听器只打开第二个窗口,即使我按下JMenu项目“打开window1”。 你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您应该为每个ActionListener添加不同的JMenuItem

像:

wyswietlbaza.addActionListener(new ActionListener() {

    // If the JMenuItem "Wyswietl baze" is clicked, this action will happen
    @Override
    public void actionPerformed(ActionEvent e) {
        new BazaDanych().setVisible(true);  
        YourClassName.this.dispose();
    }

};