我想使用comboBox更改代码中的字体
第一次我将字体家族与Font.getFamilies()
一起使用,但是我想使用中文字体,最后我将.ttf文件复制到我的项目文件夹中
@FXML ChoiceBox<String> font;
font.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> arg0, Number oldNum, Number newNum) {
// TODO Auto-generated method stub
Font f = Font.loadFont(getClass().getResourceAsStream(list[(int)newNum].getPath()),20);
label_other.setFont(f);
label_name1.setFont(f);
label_name2.setFont(f);
}
});
“ list”是一个数组,我将所有.ttf文件放入其中,并且我想更改这三个标签的字体。但是,当我使用setFont()
时,它不会在屏幕上改变,而是会随着label.getFont();
一起改变,然后我尝试使用setStyle("-fx-font-family: \""+f+"\";")
,但包括我使用的它也没有任何改变label.getFont();
会显示System
,那么我该如何保存问题...
我还有一个问题是,当我使用setFont
时,有时我会改变而有时却不会。当我使用中文字体时我也不会改变。是Java的问题还是我错过了什么...