Java 使用2个Jframe摆动Jframe

Java 使用2个Jframe摆动Jframe,java,swing,jframe,Java,Swing,Jframe,我有两个扩展Jframe的类。我想在单击按钮时调用第二个Jframe,在单击关闭时返回。所以在第一个JFrame上,我写了这段代码 public void actionPerformed(ActionEvent e) { EventQueue.invokeLater(new Runnable() { public void run() { try { Lessons frameLessons = new Le

我有两个扩展Jframe的类。我想在单击按钮时调用第二个Jframe,在单击关闭时返回。所以在第一个JFrame上,我写了这段代码

public void actionPerformed(ActionEvent e) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                    Lessons frameLessons = new Lessons();
                    frameLessons.setVisible(true);
                } catch (Exception e) {
                        e.printStackTrace();
                }
            }
        });
    }
但是当我尝试关闭第二个Jframe时,第一个Jframe也会关闭

Lessons frameLessons = new Lessons();
frameLessons.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
frameLessons.setVisible(true);

我有两个类扩展了Jframe。IDE通常鼓励扩展GUI类,而不仅仅是配置应该避免的标准类的实例。话虽如此,如果决定继续使用GUI构建器,最好扩展JPanel。这样,所有面板都可以在一个顶级容器(如框架)中使用,或者显示在对话框、小程序或。。单击按钮时调用第二个Jframe,单击关闭时返回。这意味着第二个容器应该是一个模态JDialog。虽然这将解决所述问题,但它也支持了一个设计,而不是一个应该更改的框架。