我在JavaFX应用程序中有一个未修饰的阶段。为了最小化它,我需要一个最小化按钮。我在fxml文档
中创建了我的布局,其中有一个最小化按钮
,但是当我尝试使用操作监听器
最小化位于控制器内部的这个按钮时,使用stage.setIconated(true)
,它找不到阶段。
如何在控制器类中找到对该阶段的引用?
使用这个舞台=(舞台)minimize.get场景(). getWindow();stage.set图标化(true);//最小化可以是该场景中的任何元素
解决方案1是ItachiUchiha发布的。
解决方案2只是在控制器中创建一个setter方法,并为控制器提供阶段本身。
您可以尝试:
button.setOnAction(e -> {
((Stage)((Button)e.getSource()).getScene().getWindow()).setIconified(true);
});
问题内容: 我有一个未经修饰的JavaFX Stage,还有我自己的最小化,最大化和关闭按钮。但不幸的是,与经过修饰的行为相比,在Windows 7中单击任务栏图标不会自动最小化该阶段。 通过单击任务栏图标,是否可以通过纯Java代码最小化未修饰的阶段?如果不是,我该如何使用JNA? 编辑: 好的,我一直在尝试使用JNA解决此问题,但是几乎没有C / C ++ / JNA完成,因此设置起来有些麻烦
我有一个未装饰的JavaFX舞台,我自己的最小化,最大化 有没有办法通过单击任务栏图标来最小化纯Java代码未修饰的阶段?如果不是的话,我该怎么做,比如说,JNA? 编辑:好的,我一直在尝试用JNA解决这个问题,但由于几乎没有C/C/JNA,我在设置这个方面有点麻烦。如果有人帮我把这些东西拼凑起来,我将不胜感激。。 到目前为止,这是我的代码: 编辑2:我最终在这一点上做得更进一步,但当我重新设置W
将其添加到任何JavaFX应用程序的primaryStage: 最小化阶段。输出为“图标化:true” 恢复舞台。输出为“图标化:假” 将舞台最大化,然后将其最小化。输出为“图标化:true” 现在再次恢复舞台。输出应该是“图标化:false”,但它不会打印任何内容 因此,在去锥化最大化阶段时,不会调用我的图标化属性侦听器。我做错了吗,还是这是JavaFX中的一个bug?我使用的是Java 1.8
我在这个问题上使用了公认的答案:JavaFX最小化未装饰阶段,以适当地最小化我的应用程序。 然而,不幸的是,默认窗口最小化了 我知道可以在未装饰的窗口中显示动画,因为我有一个应用程序具有这种行为(PotPlayer)。 如何使用JNA制作动画? 编辑:这是一个可以正常最小化JavaFX窗口的Kotlin代码段,还添加了bounty。
我正在学习用JavaFx创建屏幕录制应用程序。我希望用户调整矩形的大小,以决定屏幕捕捉区域。我通过primaryStage使舞台和场景透明。initStyle(StageStyle.TRANSPARENT) 和<代码>场景。设置填充(null) 。我可以调整矩形部分的大小,但问题是当我在舞台内部单击时,它会最小化,因为它是透明的。如何解决这个问题?我看过这个应用程序screencast-o-mat
我对全屏舞台有意见。我有一个主阶段,当应用程序启动时立即进入全屏,然后当用户调用特定事件时,我创建第二阶段,它也是全屏的,但它显示图像,其背景是透明的,所以主阶段及其内容仍然可见。 问题是当我显示这个新的舞台并将其设置为全屏模式时,它会使我的主舞台退出全屏模式并调整大小。 主要舞台的创作: 新阶段的创建: