import java.util.List; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.scene.Scene; import javafx.scene.text.*; import javafx.scene.control.ComboBox; import javafx.scene.layout.VBox; import javafx.application.Application; import javafx.stage.Stage; public class FontNamesApp extends Application { static final String multilingual = "(he) \u05e4\u05d9\u05d2\u05de\u05ea \u05de\u05e9\u05d9 \u05d0\u05e8\u05d5\u05d2 \u05d4\u05d7\u05dc\u05d9\u05e4\u05d4 \u05dc\u05e7\u05d5\u05d5\u05e8\u05e5 \u05d4\u05db\u05d7\u05d5\u05dc?\n" + "(ar) \u0645\u0646\u0627\u0645\u0629 \u0627\u0644\u062d\u0631\u064a\u0631 \u0627\u0644\u0645\u0646\u0633\u0648\u062c\u0629 \u0644\u062a\u0628\u0627\u062f\u0644 \u0627\u0644\u0643\u0648\u0627\u0631\u062a\u0632 \u0627\u0644\u0623\u0632\u0631\u0642\u061f\n" + "(th) \u0e17\u0e2d\u0e1c\u0e49\u0e32\u0e44\u0e2b\u0e21\u0e0a\u0e38\u0e14\u0e19\u0e2d\u0e19\u0e41\u0e25\u0e01\u0e1c\u0e25\u0e36\u0e01\u0e2a\u0e35\u0e1f\u0e49\u0e32?\n" + "(hi) \u0928\u0940\u0932\u0947 \u0915\u094D\u0935\u093E\u0930\u094D\u091F\u094D\u091C \u0915\u0947 \u0932\u093F\u090F \u0935\u093F\u092E\u0930\u094D\u0936 \u0930\u0947\u0936\u092E \u092A\u091C\u093E\u092E\u093E \u092C\u0941\u0928\u093E? "; public static void main(String[] args) { Application.launch(FontNamesApp.class, args); } Text text; double fontSize = 18.0; double space = 10.0; ComboBox cb; @Override public void start(Stage stage) { VBox root = new VBox(); Scene scene = new Scene(root, 600, 400); stage.setScene(scene); cb = new ComboBox(); List fontNames = Font.getFontNames(); for (int i = 0; i < fontNames.size(); i++) { cb.getItems().add(fontNames.get(i)); } cb.getSelectionModel().select("System Regular"); cb.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { public void changed(ObservableValue ov, Object t, Object t1) { String fontName = (String) cb.getSelectionModel().getSelectedItem(); text.setFont(new Font(fontName, fontSize)); } }); text = new Text(multilingual); text.setFont(new Font(fontSize)); root.getChildren().addAll(cb, text); root.setSpacing(space); cb.requestFocus(); stage.setTitle(System.getProperty("javafx.runtime.version")); stage.show(); } }