JavaFX组合框显示的项目字体大小

JavaFX组合框显示的项目字体大小,java,user-interface,javafx,combobox,formatting,Java,User Interface,Javafx,Combobox,Formatting,我使用一个组合框来显示,让用户在JavaFX程序中的几个项目之间进行选择,但是在格式化它时遇到了一些问题。我可以通过修改单元格工厂来更改下拉列表中项目的字体大小,但是当组合框未使用时,我无法确定如何更改单个显示项目的大小。我想使文本稍微大一点,以匹配我在单元格工厂中格式化的列表中的项目。下面是一张我正在谈论的图片。如您所见,显示项目的字体大小比下拉列表中的项目小得多。非常感谢您的帮助 代码: ComboBox countyList=新的组合框(县); countyList.setPrefWidt

我使用一个组合框来显示,让用户在JavaFX程序中的几个项目之间进行选择,但是在格式化它时遇到了一些问题。我可以通过修改单元格工厂来更改下拉列表中项目的字体大小,但是当组合框未使用时,我无法确定如何更改单个显示项目的大小。我想使文本稍微大一点,以匹配我在单元格工厂中格式化的列表中的项目。下面是一张我正在谈论的图片。如您所见,显示项目的字体大小比下拉列表中的项目小得多。非常感谢您的帮助

代码:

ComboBox countyList=新的组合框(县);
countyList.setPrefWidth(400);
countyList.setPrefHeight(35);
countyList.setCellFactory(l->new ListCell(){
@凌驾
受保护的void updateItem(字符串项,布尔值为空){
super.updateItem(项,空);
if(空| |项==null){
setText(空);
}否则{
setText(item.toString());
setFont(HeldFont.build(15));
}
}
});

尝试添加以下内容:

countyList.setButtonCell(new ListCell(){

        @Override
        protected void updateItem(Object item, boolean empty) {
            super.updateItem(item, empty); 
            if(empty || item==null){
                setStyle("-fx-font-size:15");
            } else {
                setStyle("-fx-font-size:15");
                setText(item.toString());
            }
        }

    });

完美的工作得很有魅力。非常感谢!很高兴这有帮助
countyList.setButtonCell(new ListCell(){

        @Override
        protected void updateItem(Object item, boolean empty) {
            super.updateItem(item, empty); 
            if(empty || item==null){
                setStyle("-fx-font-size:15");
            } else {
                setStyle("-fx-font-size:15");
                setText(item.toString());
            }
        }

    });