2016-06-08 15 views
1

Ich habe JavaFX in einer Swing-Anwendung eingebettet. Ich versuche, eine Tabelle mit dem folgenden Code zu erstellen, und die Tabellenüberschriften sind nichts als Müll.JavaFX String Encoding Probleme

TableView table = new TableView(); 
table.setEditable(false); 
table.getColumns().setAll(new TableColumn("Col1"), new TableColumn("Col2")); 

VBox aVBox = new VBox(); 
aVBox.setSpacing(5); 
aVBox.getChildren().add(table); 

jFXPanel.setScene(new Scene(aVBox)); 

Hier finden Sie, was ich auf dem Bildschirm erhalten: enter image description here

Weiß jemand, warum ich sehe „Col1“ nicht und „Col2“, wie die Header?

+0

Achten Sie auf die Quellcodierung, die vom Compiler verwendet wird, und auf die tatsächliche Codierung, die zum Speichern der Dateien verwendet wird. Es gibt nicht genügend Informationen, um dies weiter zu untersuchen. –

+0

Ich bin auf OSX 10.11.5 mit Java 1.8.0_51. Ich habe sowohl in Eclipse als auch mit Maven versucht. Meine Dateicodierung ist UTF-8. Wenn ich mit Maven kompiliere, setze ich die $ {project.build.sourceEncoding} auf UTF-8 und ich sehe immer noch das Problem. Welche weiteren Informationen benötigen Sie, um weitere Untersuchungen durchzuführen? – Jayfray

+0

Das sollte gut sein, mir fällt nichts ein. Versuchen Sie jedoch z.B. um diese Zeichen in eine Datei zu schreiben - immer mit der korrekten Kodierung; Wie sehen sie aus? –

Antwort

1

Ich fand heraus, was das Problem war. Es stellte sich heraus, dass wir die Systemeigenschaft wurden Einstellung:

System.setProperty("prism.order", "j2d"); 

Es gab einen Kommentar darüber, dass etwas über ein Update für JavaFX Beta angegeben. Wenn ich es herausgenommen habe, wurde alles wie erwartet angezeigt.