Example to apply font |
package javafxfonts; import java.util.List; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.ListView; import javafx.scene.control.SplitPane; import javafx.scene.input.MouseEvent; import javafx.scene.layout.StackPane; import javafx.scene.text.Font; import javafx.stage.Stage; /** * * @web http://java-buddy.blogspot.com/ */ public class JavaFXFonts extends Application { @Override public void start(Stage primaryStage) { primaryStage.setTitle("http://java-buddy.blogspot.com/"); StackPane sp2 = new StackPane(); final Label label = new Label(); sp2.getChildren().add(label); final ListView<String> listView = new ListView<>(); List<String> familiesList = Font.getFamilies(); ObservableList<String> familiesObservableList = FXCollections.observableArrayList(familiesList); listView.setItems(familiesObservableList); listView.setOnMouseClicked(new EventHandler<MouseEvent>(){ @Override public void handle(MouseEvent t) { String selectedFamily = listView.getSelectionModel().getSelectedItem(); //Apply the selected font family Font selectedFont = Font.font(selectedFamily, 20.0); label.setText(selectedFamily); label.setFont(selectedFont); } }); SplitPane splitPane = new SplitPane(); StackPane sp1 = new StackPane(); sp1.getChildren().add(listView); splitPane.getItems().addAll(sp1, sp2); primaryStage.setScene(new Scene(splitPane, 300, 250)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Related article: Load True Type Font (ttf) in JavaFX
No comments:
Post a Comment