【问题标题】:Swing Jframe using 2 jframes使用 2 个 jframe 的 Swing Jframe
【发布时间】:2016-01-16 15:35:46
【问题描述】:

我有 2 个扩展 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 时,第一个也会关闭

【问题讨论】:

  • “我有 2 个扩展 Jframe 的类。” 这是 IDE 通常鼓励的(扩展 GUI 类而不是仅仅配置标准类的实例)应该是避免。话虽如此,如果确定继续使用GUI builder,最好扩展JPanel。这样,所有面板都可以在像框架这样的单个顶级容器中使用 - 如果合适的话,或者显示在对话框、小程序中,或者.. “单击按钮时调用第二个 Jframe 并返回单击关闭时。” 这表明第二个容器应该是 modal JDialog ..

标签: java swing jframe


【解决方案1】:

试试这个:

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

【讨论】:

  • 虽然这将解决上述问题,但它也支持应该更改的设计(超过一帧)。
猜你喜欢
  • 2012-01-29
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 2012-11-12
相关资源
最近更新 更多