【问题标题】:Core Java project about JFrame关于 JFrame 的核心 Java 项目
【发布时间】:2013-02-22 13:30:03
【问题描述】:

我正在制作一个小型 Java 项目,其中有 3 个框架连接在一起,例如 f1f2f3f4f1 有一个按钮,单击它后它会调用f2f2 也有调用f3 的按钮。问题是,如果我一一打开所有表单,然后当我关闭表单f2f3 时,主表单(f1) 就会关闭。

我希望即使我关闭表单 f2f3 我的主表单也不应该关闭,直到我亲自关闭它。

package mnm;

public class NewJFrame extends javax.swing.JFrame {


    public NewJFrame() {
        initComponents();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

        NewJFrame1 nb=new NewJFrame1();
        nb.setVisible(true);
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new NewJFrame().setVisible(true);
                NewJFrame gn=new NewJFrame();
                gn.setDefaultCloseOperation(NewJFrame.DISPOSE_ON_CLOSE);
            }
        });
    }

    private javax.swing.JButton jButton1;

}

【问题讨论】:

  • 也许您可以向我们展示您的一些代码,如果您在关闭另一个框架时关闭了第 1 帧,那么您错过的其他框架中肯定有对您的主框架的引用。或者在实例化框架时可能会出现问题,如果您想要多个窗口,则可以使用对话框,或者另一个选项是使用 JInternalFrames。
  • 在适当的地方使用大写(例如,每个句子的开头,专有名称,如 Java,单词 I)。这使读者更容易。你不会试图让我们更难提供帮助,对吗?
  • 在按钮的情况下,我制作了另一个我必须打开的框架的对象,并假设 f2 是表单。然后 f2 bb=新 f2(); bb.setVisible(true);这是我在所有表格中使用的唯一代码。

标签: java swing netbeans jframe frame


【解决方案1】:

..3 帧连接在一起

别这样!有关详细信息,请参阅The Use of Multiple JFrames, Good/Bad Practice?。其中两个框架应该是模态对话框或JOptionPane


我希望即使我关闭表单 f2f3 我的主表单也不应该关闭,直到我亲自关闭它。

既然我已经警告过你不要这样做,我会补充..

可以通过设置DISPOSE_ON_CLOSE 的默认关闭操作来实现请求的行为,如this answer 所示。这些框架中的任何一个都可以在不影响其他框架的情况下关闭。

【讨论】:

  • 谢谢汤普森。在那个链接中,那个人谈到了 jInternalFrame。你能给我任何链接在我的Java项目中使用它,这样我就不会使用多个窗口。 :)
  • 这里有一个提示。搜索“classname+java+tutorial”,看看会出现什么问题。例如。为此,它将是“jinternalframe+java+tutorial”。它有很好的说明,通常包含带有代码的示例。
  • 再次感谢该答案中的代码。那是你的代码吗?我的意思是你怎么知道这些代码。?我也想知道Java中的不同技术。
  • 是的,我看到了代码。怎么样?至于我发布的链接上的代码。是的,那个(非常短的代码)是我写的。
  • 你是对的。我不应该使用netbeans。实际上,我确实拖放,这限制了我。我会尽力的:)
猜你喜欢
  • 1970-01-01
  • 2016-09-30
  • 2015-11-14
  • 2013-02-21
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多