我尝试使用JavaFX 2.2并得到以下结果:
因此,当它启动时,它应该显示在桌面的正上方,而不是在可能打开的当前应用程序的前面
调用stage.toBack将在任何其他窗口后面放置一个阶段.
我能够得到一个窗口,大多数时候总是留在其他窗口后面(至少在Mac上).为此,我在时钟应用程序中显示舞台之前添加了几个侦听器和过滤器.
stage.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observableValue, Boolean wasFocused, Boolean focused) {
stage.toBack();
}
});
stage.addEventFilter(MouseEvent.ANY, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
stage.toBack();
}
});
Run Code Online (Sandbox Code Playgroud)
现有的要求是能够设置一个始终位于顶部的阶段.您可以为舞台始终落后的能力创建新的相应请求.
小部件的另一个条件是它在任务栏中没有条目
在Windows上,我认为如果您将舞台样式初始化为StageStyle.UTILITY,则Windows不会在Windows任务栏中显示该舞台的图标.
我在OS X上尝试了几种不同的舞台样式,当我运行应用程序时,一个小的Java杯图标将始终显示在OS X底座中(与Windows不同)设置舞台的图标并没有摆脱Java杯图标.也许如果您创建了一个独立的 OS X应用程序,您可以在打包步骤中关闭它,或者将图标设置为透明图像,以便用户看不到它.
您还可以在JavaFX问题跟踪器中为此创建一个功能请求(与常备功能分开).如果您创建与此相关的任何问题,请解释您的用例并链接回此问题.
| 归档时间: |
|
| 查看次数: |
2138 次 |
| 最近记录: |