0

ここから見つけた JavaFX のダイアログの最新バージョンを使用しています: http://code.makery.ch/blog/javafx-8-dialogs/

私の問題は非常に単純です。カスタム ダイアログを作成した場合 (または、'\n' で区切られた多数のテキスト行を持つ情報ダイアログを使用した場合)、バグ ( ?) ダイアログのセンタリングでダイアログの内容が完全に考慮されていないこと。

他の誰かがこの同じ問題に遭遇しましたか? 私はあまり調査していませんが、Dialog クラスには、ダイアログを手動で中央に配置する方法がないようです。

4

2 に答える 2

0

ドキュメントをもっと注意深く読むべきでした。ダイアログを手動で中央に配置できる getWindow() メソッドがあります。ただし、これはデフォルトの動作であるべきだと思います..ダイアログを中央に配置するための簡単で汚い方法を次に示します。

public static final class Utils {

  public static Stage getStage() {
      return StageHelper.getStages().get(0);
  }

  public static void centre(Dialog dialog) {
      Window window = dialog.getWindow();
      Stage scene = Utils.getStage();
      double x = scene.getX() + scene.getWidth() / 2 - window.getWidth() / 2;
      double y = scene.getY() + scene.getHeight() / 2 - window.getHeight() / 2;
      window.setX(x);
      window.setY(y);
  }
}

...

Platform.runLater(() -> { Utils.centre(dialog); }
dialog.show();
于 2014-08-27T13:21:35.450 に答える