2017-08-31 2 views
0

Gibt es eine Möglichkeit, um eine Benachrichtigung, um die Größe einer Spur einer Ausnahme zu zeigen, in JavaFX 8. Mein Code ist habe versucht beides:Wie ein Alert-Fenster, um die Größe Inhalt passen in JavaFX 8

alert.getDialogPane().getScene().getWindow().sizeToScene(); 

und

alert.getDialogPane().autosize(); 

und weder gearbeitet hat.

Derzeit verwende ich meine JRE ist Java 8 Update 144 und mein JDK ist Java 8 Update 101 auf Windows 10 Home 64-Bit-Edition. Gibt es irgendwelche Möglichkeiten für mich, das Alert-Framework als Ersatz für JOptionPane zu verwenden, da Swing im Wesentlichen tot ist, so dass ich Listener und Buttons nicht codieren muss und das Kreuz-Icon behalten muss, das die Alert-Klasse "bereitstellt".

+0

alert.getDialogPane(). SetMinHeight (Region.USE_PREF_SIZE) –

+0

Ich vergaß zu erwähnen, dass die, leider nicht auch funktionieren. – Wrichik1999

+0

Hier gibt es einen 'Alert' /' Dialog' (http://code.makery.ch/blog/javafx-dialogs-official/). 'Exception Dialog' – Sedrick

Antwort

0

Dieser Code wird von Exception Dialog gezogen.

Alert alert = new Alert(AlertType.ERROR); 
alert.setTitle("Exception Dialog"); 
alert.setHeaderText("Look, an Exception Dialog"); 
alert.setContentText("Could not find file blabla.txt!"); 

Exception ex = new FileNotFoundException("Could not find file blabla.txt"); 

// Create expandable Exception. 
StringWriter sw = new StringWriter(); 
PrintWriter pw = new PrintWriter(sw); 
ex.printStackTrace(pw); 
String exceptionText = sw.toString(); 

Label label = new Label("The exception stacktrace was:"); 

TextArea textArea = new TextArea(exceptionText); 
textArea.setEditable(false); 
textArea.setWrapText(true); 

textArea.setMaxWidth(Double.MAX_VALUE); 
textArea.setMaxHeight(Double.MAX_VALUE); 
GridPane.setVgrow(textArea, Priority.ALWAYS); 
GridPane.setHgrow(textArea, Priority.ALWAYS); 

GridPane expContent = new GridPane(); 
expContent.setMaxWidth(Double.MAX_VALUE); 
expContent.add(label, 0, 0); 
expContent.add(textArea, 0, 1); 

// Set expandable Exception into the dialog pane. 
alert.getDialogPane().setExpandableContent(expContent); 

alert.showAndWait(); 

enter image description here

+0

Vielen Dank. Das funktioniert perfekt. – Wrichik1999

Verwandte Themen