JavaFX:ComboBox-冲突setButtonCell和setPrompText

JavaFX:ComboBox-冲突setButtonCell和setPrompText,javafx,combobox,Javafx,Combobox,我使用的是JFoenix库,ComboBox有问题 当我想设置PromtText和setButtonCell时,文本会重复。 我想更改ButtonCell上的字体大小 这是我的密码: @FXML private JFXComboBox versionList; @Override public void initialize(URL location, ResourceBundle resources) { versionList.setPromptText("<");

我使用的是JFoenix库,ComboBox有问题

当我想设置PromtText和setButtonCell时,文本会重复。 我想更改ButtonCell上的字体大小

这是我的密码:

@FXML
private JFXComboBox versionList;

@Override
public void initialize(URL location, ResourceBundle resources) {

    versionList.setPromptText("<");
    versionList.setButtonCell(new ListCell<String>() {
        @Override
        protected void updateItem(String version, boolean empty) {
            if (empty) {
                setText(null);
            } else {
                setText(version);
                setFont(Font.font(15));
            }
        }
    });
}
结果我得到了这个:

或者,如果promt文本选择:


我做错了什么?提前感谢。

您忽略了调用updateItem的超类实现。。。在覆盖的updateItem中。。。方法根据设置,这将防止设置项和空属性;因此,我怀疑发生的情况是,单元格仍然有empty==true,因此在不应该的情况下绘制提示文本

正确的实施应该是

@Override
public void initialize(URL location, ResourceBundle resources) {

    versionList.setPromptText("<");
    versionList.setButtonCell(new ListCell<String>() {
        @Override
        protected void updateItem(String version, boolean empty) {

            super.updateItem(version, empty);

            if (empty) {
                setText(null);
            } else {
                setText(version);
                setFont(Font.font(15));
            }
        }
    });
}

@文托,你能发一封信吗?它是否也发生在标准组合框中,或者仅仅发生在JFoenix版本中?我用标准组合框尝试了这段代码,一切都很好。我想我会向JFoenix开发者寻求帮助。谢谢你的帮助。@VENTO,这可能会给你带来更多的成功。对于像这样的问题,JFoenix确实没有文档可供使用。请注意,您肯定需要调用super.updateItem。。不过,无论您使用哪个组合框。