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