gpt4 book ai didi

java - JFrame.HIDE_ON_CLOSE onHide 事件?

转载 作者:行者123 更新时间:2023-12-01 18:47:33 24 4
gpt4 key购买 nike

我有一个 WorldEditor JFrame,它启动 Game JFrame。但是,当Game关闭时,我不希望它结束​​整个程序,因此我将默认关闭操作设置为HIDE_ON_CLOSE。但是,为了节省资源,我在 Game 运行时暂停 WorldEditor

如何检测 Game 窗口何时隐藏,以便恢复 WorldEditor

最佳答案

为什么不自己隐藏框架而不是使用默认的 HIDE_ON_CLOSE

// inside WindowListener class
public windowClosing(WindowEvent e) {
yourFrame.setVisible( false );
// your code here...
}

编辑内容:来自文档:

The default close operation is executed after any window listeners handle the window-closing event. So, for example, assume that you specify that the default close operation is to dispose of a frame. You also implement a window listener that tests whether the frame is the last one visible and, if so, saves some data and exits the application. Under these conditions, when the user closes a frame, the window listener will be called first. If it does not exit the application, then the default close operation — disposing of the frame — will then be performed.

带有工作示例的新编辑:

import java.awt.event.*;
import javax.swing.JFrame;

public class ListenerTest extends JFrame implements WindowListener {

public static void main(String[] args) {
ListenerTest frame = new ListenerTest();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setVisible( true );
}

public ListenerTest() {
this.addWindowListener( this );
}

public void windowActivated(WindowEvent e) {
System.out.println(" activated ");
}
public void windowClosed(WindowEvent e){
System.out.println(" closed ");
}
public void windowClosing(WindowEvent e){
System.out.println(" closing ");
}
public void windowDeactivated(WindowEvent e){
System.out.println(" deactivated ");
}
public void windowDeiconified(WindowEvent e){
System.out.println(" deiconified ");
}
public void windowIconified(WindowEvent e){
System.out.println(" iconified ");
}
public void windowOpened(WindowEvent e){
System.out.println(" opened ");
}
}

对此进行测试,以捕获正在触发的内容事件。

关于java - JFrame.HIDE_ON_CLOSE onHide 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17119960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com