Java 如何在外部监视器上打开新阶段?

Java 如何在外部监视器上打开新阶段?,java,javafx,external-display,Java,Javafx,External Display,我的笔记本电脑上插了一个外置显示器。我想在此外部屏幕上以全屏、无装饰和模式模式显示一个新的阶段。我知道如何在纯Java/Swing组合中实现所有这些,但我对这种功能的JavaFX实现感到厌倦 我知道,有一个ScreenAPI,我可以使用它来获取屏幕列表,比如: List allScreens=Screen.getScreens() …但我不知道我能从这里走到哪里 更新:2014/08/03,22:21 我已经找到了解决问题的方法,所以我决定分享我的方法。到目前为止,我还没有找到更好的解决办法 B

我的笔记本电脑上插了一个外置显示器。我想在此外部屏幕上以全屏、无装饰和模式模式显示一个新的
阶段。我知道如何在纯Java/Swing组合中实现所有这些,但我对这种功能的JavaFX实现感到厌倦

我知道,有一个
Screen
API,我可以使用它来获取屏幕列表,比如:

List 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();
        }
    }
});
Button.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent ae){
List allScreens=Screen.getScreens();
如果(allScreens.size()>1){
Screen secondary Screen=allScreens.get(1);
矩形2D边界=secondaryScreen.getVisualBounds();
阶段=新阶段();
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());
舞台风格(舞台风格。未装饰);
阶段.初始模态(模态.应用\模态);
stage.show();
}否则{
阶段=新阶段();
stage.setFullScreen(真);
舞台风格(舞台风格。未装饰);
阶段.初始模态(模态.应用\模态);
stage.show();
}
}
});

您正完美地使用它!