2

ラップトップに外付けモニターを接続しています。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();
        }
    }
});
4

0 に答える 0