2016-06-29 24 views
-1

私はこれを読んだ:http://code.makery.ch/blog/javafx-dialogs-official/JavaFXにメッセージボックスを表示するには?

私は40行のコードは単純な例外メッセージダイアログボックスを表示することは許容されているとは思わない。

JavaFXでダイアログボックスを表示する方法は? ControlsFXが役立つことがありますか?

JOptionPane.showMessageDialog(frame, 
    "Eggs are not supposed to be green.", 
    "Inane error", 
    JOptionPane.ERROR_MESSAGE); 

それは

OF

ONE

LINE

です:UPDATE

は、それがSwingで行われていた方法を比較します

コード

これで十分です。

+2

どこから40行目かが分かりません。それを行うのは4行か5行しかありません。あなたはあなたが提供した例でそれを見ることができます。より複雑なカスタムダイアログを作成したい場合は、それ以上になりますが、それは予想されます。 – ManoDestra

+1

No ControlsFXダイアログは、実際にはJava 8u40以上に含まれているため役立たず、まだ実行されていない場合は非推奨になります。http://code.makery.ch/blog/javafx-8-dialogs/ –

+1

Alertクラスを拡張し、Swingの例と同様のメソッドシグネチャを提供するのは簡単です。 – pulse0ne

答えて

5

は、あなただけのOPのアップデートに合わせて、ScrollPaneの内部TextAreaにその内容を設定して新しいAlertを作成し、TextArea

Exception e = new Exception("An exception!!!!!!!!!!!!!!!!!"); 
StringWriter sw = new StringWriter(); 
e.printStackTrace(new PrintWriter(sw)); 

Alert alert = new Alert(Alert.AlertType.ERROR); 
alert.setHeaderText("An exception occurred!"); 
alert.getDialogPane().setExpandableContent(new ScrollPane(new TextArea(sw.toString()))); 
alert.showAndWait(); 

UPDATEにあなたの例外テキストを追加する必要があります。

Swingの例のJavaFXの等価物は次のとおりです。

new Alert(Alert.AlertType.ERROR, "This is an error!").showAndWait(); 
関連する問題