- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经编写了自己的EventHandler,它没有做任何特殊的事情。这只是为了练习。他来了:
import javafx.event.EventHandler;
import javafx.stage.WindowEvent;
public class JavaFXMyWindowListener implements EventHandler<WindowEvent>{
@Override
public void handle(WindowEvent event) {
System.out.println("WindowEvent: " + event.getEventType());
if(event.getEventType() == WindowEvent.WINDOW_CLOSE_REQUEST){
System.out.println("Window closed");
event.consume();
}
if(event.getEventType() == WindowEvent.WINDOW_SHOWING){
System.out.println("Window activ");
}
if(event.getEventType() == WindowEvent.WINDOW_SHOWN){
System.out.println("Window opened");
}
if(event.getEventType() == WindowEvent.WINDOW_HIDDEN){
System.out.println("Window minimized");
}
if(event.getEventType() == WindowEvent.WINDOW_HIDING){
System.out.println("Window is going to be minimized");
}
}
}
我对最后一个 du if 有问题。 WINDOW_HIDDEN 和 WINDOW_HIDING 似乎不起作用,因为当我最小化窗口时,System.out 永远不会发生。其他 3 个事件有效。而且最上面的 System.out 不会发生,这意味着该事件永远不会发生。我在主类中添加了如下事件处理程序:
stage.addEventHandler(WindowEvent.ANY, new JavaFXMyWindowListener());
我找到了以下解决方法:
stage.iconifiedProperty().addListener(new ChangeListener<Boolean>() {
@Override public void changed(ObservableValue<? extends Boolean> prop, Boolean oldValue, Boolean newValue) {
if(newValue){
System.out.println("Window minimized");
}else{
System.out.println("Window was minimized and gets back now");
}
}
});
它正在做我想做的事情,但为什么 WINDOW_HIDDEN 和 WINDOW_HIDING 不起作用?我不明白,请帮忙。谢谢并致以问候。
最佳答案
HIDING
和 HIDDEN
分别表示“关闭”和“关闭”,未最小化(指的是 hide()
方法) 。
对于 Stage
,您可以使用 iconified
property 注册监听器。最小化时响应。
关于JavaFX:WindowEvent.WINDOW_HIDDEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660688/
我已经编写了自己的EventHandler,它没有做任何特殊的事情。这只是为了练习。他来了: import javafx.event.EventHandler; import javafx.stage
我正在尝试使用 GUI 写入文本文件。我在执行此操作时遇到了问题,并且能够弄清楚 WindowEvent 出于某种原因以某种方式提前终止了程序。 最初我在 WindowEvent 行之后有 outFi
似乎 WindowEvent.WINDOW_SHOWN 永远不会在场景图中的任何节点上分派(dispatch),也没有(我能找到)知道节点何时可见/渲染/显示。例如: 测试启动器.java packa
我在 JFrame 中显示 JDialog。此 JDialog 对处理不执行任何操作。我想捕捉关闭事件并显示一个弹出窗口,但没有任何反应。 我找不到错误。你能告诉我问题出在哪里吗? 非常感谢! imp
尝试为我的窗口实现关闭方法,尽管 java 给了我一个 “构造函数 WindowEvent(WelcomeWindow, int) 未定义”:错误 出现错误“WindowEvent winClosin
当用户单击“关闭”按钮或另一个显示“退出”的 JButton 时,我必须将程序的状态保存在 xml 中。我有它,所以当窗口关闭时它会使用 WindowListener 运行它运行它。但这仅在您单击“R
我是一名优秀的程序员,十分优秀!