Tag: 阶段

窗口/舞台失去焦点时的事件

当JavaFX阶段失去焦点时,如何运行一段代码(或更确切地说:关闭舞台)? 例如,在Dropbox或Chrome中:如果单击托盘图标,则会打开一个小窗口。 如果您现在单击屏幕上的任意位置,窗口将关闭。 这正是我想在JavaFX应用程序中创建的行为。 我已经搜索了很长时间才找到解决方案,但找不到一个…… 所以,我正在寻找类似这样的东西: stage.addEventHandler(EventType.FOCUS_LOST, new EventHandler() { /*…*/ } ); 谢谢你帮助我!

Maven字符串替换文本Web资源

我有一个带有文本文件的Maven Web应用程序 的src /主/ web应用/ textfilesdir 据我了解,在包阶段,这个textfilesdir目录将被复制到 目标/项目-1.0-快照 目录,然后压缩成一个 目标/项目-1.0-SNAPSHOT.war 问题 现在,我需要在target / project-1.0-SNAPSHOT / textfilesdir中对文本文件的内容进行字符串替换。 然后必须在将textfilesdir复制到target / project-1.0-SNAPSHOT之后但在创建target / project-1.0-SNAPSHOT.war文件之前完成此操作。 我相信这一切都是在包装阶段完成的。 插件(可能是maven-antrun-plugin)如何插入包阶段来执行此操作。 文本文件不包含要过滤的$ {property-name}等属性。 字符串替换可能是唯一的选择。 选项 在创建WAR之前,在复制到target / project-1.0-SNAPSHOT目录之后修改文本文件。 打包后,从WAR中提取文本文件,修改它们,然后将它们添加回WAR。 我想在这里有另一种选择,我很想念。 想什么?

如何在一定时间后关闭一个阶段JavaFX

我目前正在使用两个控制器类。 在Controller1中,它创建一个在主要阶段之上打开的新阶段。 Stage stage = new Stage(); Parent root = FXMLLoader.load(getClass().getResource(“Controller2.fxml”)); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); 现在一旦这个阶段打开,我希望它在关闭之前保持打开约5秒钟。 在Controller2中,我尝试过实现类似的东西 long mTime = System.currentTimeMillis(); long end = mTime + 5000; // 5 seconds while (System.currentTimeMillis() > end) { //close this stage } 但是我不知道在while循环中放入什么来关闭它。 我已经尝试过所有种类,但没有任何作用。

是否可以在javafx中使用透明的实用程序阶段?

我知道你可以设置一个阶段来实现一个实用程序样式“Stage.InitStyle(StageStyle.UTILITY);” 并且您可以将其设置为具有透明样式“Stage.InitStyle(StageStyle.TRANSPARENT);” 但你能同时在同一个舞台吗? 我很累,因为舞台在开始菜单中没有显示为窗口,我希望舞台不可见,这样你才能看到场景。