组合框更改应用程序中的字体

时间:2018-06-20 13:52:28

标签: java css javafx

我想添加一个组合框以更改应用程序中的字体或字体大小。我已经构建了两个组合框,但是我不知道如何更改每个标签的字体和字体大小。如果在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);
    }
}

0 个答案:

没有答案