首页 > 解决方案 > 组合框更改应用程序中的字体

问题描述

我想添加一个组合框来更改我的应用程序中的字体或字体大小。我已经构建了两个组合框,但我不知道如何更改每个标签的字体和字体大小。如果我在我的 css 中设置了默认字体,我可以在选择新字体时以某种方式更改它吗?我不喜欢为我现在和将来拥有的每个标签添加 setFont(font, fontSize) 的想法。

public class SettingsController
{
    @FXML
    private ComboBox<String> font;
    @FXML
    private ComboBox<Integer> fontSize;

    public void initialize()
    {
        ObservableList<String> fonts = FXCollections.observableArrayList(Font.getFamilies());
        font.setItems(fonts);
        List<Integer> fontSizeList = new ArrayList<>();
        for (Integer fontSizeNumber = 8; fontSizeNumber < 15; fontSizeNumber++)
        {
            fontSizeList.add(fontSizeNumber);
        }
        ObservableList<Integer> fontSizes = FXCollections.observableArrayList(fontSizeList);
        fontSize.setItems(fontSizes);
        if (font.getItems().contains("Arial"))
        {
            font.getSelectionModel().select("Arial");
        }
        fontSize.getSelectionModel().select((Integer) 12);
    }
}

标签: javacssjavafx

解决方案


推荐阅读