我正在开发一个 Java 应用程序,该应用程序在窗口大小更改后会更改组件大小,并且我遇到了 ComboBox 下拉菜单的问题。窗口大小更改后,首先扩展下拉列表不会改变它的宽度,我明白了。当我第二次展开列表时,它运行良好,但仅当我使用以下代码时:
comboBoxWindowSize.setCellFactory(new Callback<ListView<WindowSize>, ListCell<WindowSize>>() {
@Override
public ListCell<WindowSize> call(ListView<WindowSize> param) {
ListCell cell = new ListCell<WindowSize>() {
@Override
public void updateItem(WindowSize windowSize, boolean empty) {
super.updateItem(windowSize, empty);
setPrefHeight(padH25);
getListView().setPrefWidth(padW150);
if (!empty) {
setText(windowSize.toString());
} else {
setText(null);
}
}
};
return cell;
}
});
当我不使用此代码时,宽度始终不正确。我希望下拉宽度等于 ComboBox 宽度。你会帮我解决这个问题吗?