【发布时间】:2018-09-11 22:18:54
【问题描述】:
对于我的一生,我似乎无法在这方面获得帮助。我有一个 JavaFX 屏幕,我正试图在我的第二台显示器上显示全屏。我根据其他建议尝试了以下方法,但无济于事。我知道坐标是正确的,但它在我的主显示器上保持全屏显示。请帮忙。
if (mainSet.getBoolean("fullScr", false)) {
int count = mainSet.getInt("MonSel", 0);
if (count > 0) {
int i = 0;
for (Screen screen: Screen.getScreens()) {
if (count == i) {
Rectangle2D bounds = screen.getBounds();
primaryStage.setX(bounds.getMinX());
System.out.println(bounds.getMinX());
System.out.println(bounds.getMinY());
primaryStage.setY(bounds.getMinY());
}
i++;
}
}
primaryStage.setFullScreen(true);
}
第一个if 检查首选项以查看是否设置了全屏。第二个if 查看是否选择了除第一个监视器之外的另一个监视器。它是 1,所以它应该是第二个显示器。程序循环遍历所有屏幕并尝试移动程序,然后将进入全屏状态。我知道坐标是相同的,但没有骰子,它仍然在主屏幕上全屏显示。请帮忙。
【问题讨论】:
-
请提供一个minimal reproducible example 来说明问题。
-
我能够通过在声明全屏代码后放置 primarystage.show() 来解决它,但我喜欢其他人回答得更好,更整洁:)
标签: java javafx screen fullscreen bounds