【问题标题】:How can I close a JFrame by click on a button?如何通过单击按钮关闭 JFrame?
【发布时间】:2011-02-05 16:46:12
【问题描述】:

我想在我的窗口中有一个按钮,这样如果我点击它(按钮),窗口就会关闭。

我发现我可以通过以下方式关闭一个窗口:

referenceToTheFrame.hide(); //hides the frame from view
refToTheFrame.dispose(); //disposes the frame from memory

但是如果我这样做,编译器会抱怨:

Note: myProgram.java uses or overrides a deprecated API
Note: Recompile with -Xlint:deprication for details.

我做了不安全的事情吗?

【问题讨论】:

  • 您不希望框架在单击“x”时简单地关闭?

标签: java swing user-interface jframe


【解决方案1】:

推荐的方式是使用:

referenceToTheFrame.setVisible(false)

hide 方法已弃用,不应再使用。 (虽然内部setVisible 会调用hideshow

另外,如果你想处理框架,你必须手动调用dispose。 (例如,如果您需要关闭窗口的事件)调用setDefaultCloseOperation 在这里对您没有帮助,因为它只会影响单击系统菜单中的关闭按钮后的行为。

有关详细信息,请参阅Swing documentation

【讨论】:

    【解决方案2】:

    DR 有正确的答案。关于编译器警告:hide() 是属于Window 的已弃用调用。永远不要使用它,坚持使用 setVisible()。

    【讨论】:

      【解决方案3】:

      在框架对象上使用dispose()

      【讨论】:

        猜你喜欢
        • 2011-01-22
        • 2011-05-22
        • 1970-01-01
        • 2012-02-23
        • 1970-01-01
        • 2022-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多