【发布时间】:2016-12-16 10:45:44
【问题描述】:
我对 Java 很陌生,但熟悉原生 Android 开发,所以请多多包涵 xD。我创建了一个创建 JFrame 的应用程序。然后我将 closeOperation 设置为:setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);。
它按预期执行,框架被隐藏,这就是我想要的(当我关闭时)。我需要应用程序继续运行(仅一次实例),因为我正在后台运行一个正在执行操作的线程。
我的 JFrame 中按钮上的 actionListener 当前执行此操作:setVisible(false);
我的问题是,如何在隐藏 JFrame 后再次最大化它?当用户点击任务栏中最小化的应用程序时,是否可以显示框架?我需要实现某种类型的侦听器吗?
提前感谢,任何建议将不胜感激
更新
要使此解决方案正常工作,您需要执行以下操作。还请查看 XtremeBaumer 的答案以了解此问题。
关于创建 JFrame setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);。
当您想最小化应用程序时(可能点击)frame.setState(Frame.ICONIFIED);。
当您想在windowDeiconified 事件中再次最大化应用程序时frame.setState(Frame.NORMAL);。
最后一件事,如果您还想在用户单击退出按钮(红色 x)时最小化您的应用,请将其添加到 windowClosing 事件 frame.setState(Frame.ICONIFIED);。
【问题讨论】:
-
通过创建这个JFrame的实例,然后调用
setVisible(true)方法?