我有一个奇怪的问题。我在JavaFX中使用ComboBox,其中每个项目都是HBox,是图像和标签的组合。
list.forEach(continent -> {
Image image = new Image(getClass().getResourceAsStream(continent + ".png"));
ImageView imageView = new ImageView(image);
imageView.setFitHeight(25);
imageView.setFitWidth(25);
imageCombo.getItems().add(new HBox(imageView, new Label(continent)));
});
list
是字符串的数组列表。 imageCombo
只是ComboBox<HBox>
以下是我启动应用程序时的结果。
直到这里没有问题。但是,当我选择其中一个项目时会出现问题。当我这样做时,它会被选中但是当我再次展开组合框列表时,之前选择的项目变为空白,如果我选择该项目,那么该项目也将不可见。我试过使用Cell Factory,似乎对我帮助不大。以下是选择欧洲和非洲之后的问题。观察到非洲被显示为当前选定的项目,因为这是最后选择的值。