我的笔记本电脑上插有外接显示器。我希望在全屏,未修饰和模态模式下在此外部屏幕上显示新的Stage
。我知道如何在纯Java / Swing组合中实现所有这些,但我坚持使用JavaFX实现这样的功能。
我知道,有一个Screen
API,我可以使用它来获取屏幕列表,例如:
List<Screen> allScreens = Screen.getScreens();
......但我不知道从哪里可以离开。
更新时间:2014/08 / 03,22:21
我找到了解决问题的方法,所以我决定分享我的方法。到目前为止,我还没有找到更好的解决方案。
Button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent ae) {
List<Screen> allScreens = Screen.getScreens();
if (allScreens.size() > 1) {
Screen secondaryScreen = allScreens.get(1);
Rectangle2D bounds = secondaryScreen.getVisualBounds();
Stage stage = new Stage();
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());
stage.initStyle(StageStyle.UNDECORATED);
stage.initModality(Modality.APPLICATION_MODAL);
stage.show();
} else {
Stage stage = new Stage();
stage.setFullScreen(true);
stage.initStyle(StageStyle.UNDECORATED);
stage.initModality(Modality.APPLICATION_MODAL);
stage.show();
}
}
});