【JavaFX】Alertのサイズが自動調整されずテキストが最後まで表示されない問題

JavaFXのメッセージダイアログを表示する際に使用するAlertクラスで長いメッセージを表示すると、環境によってテキストが最後まで表示されないことがあります。この問題の解決策を紹介します。

問題

Alertクラスで長いテキストのダイアログを表示させると、テキストが「…」という風に省略されて表示される場合があります。

回避策

Alertを表示させる前に、以下の処理を行うことでテキストの省略表記を回避することが可能です。

alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);

上記のコードは、テキストの表示領域に合わせてアラートダイアログの高さの最小値を設定します。

サンプルプログラム

Alert alert = new Alert(AlertType.INFORMATION, "メッセージ", ButtonType.OK);
alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
alert.show();


参考:
https://stackoverflow.com/questions/28937392/javafx-alerts-and-their-size
https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/control/Alert.html

コメント

タイトルとURLをコピーしました