我是 FXML 新手,我正在构建一个应用程序。现在我遇到了一个我无法解决的问题。
我在 FXML 中定义了一个组合框,并在控制器类中创建了必要的关联。但我想将图像添加到这个组合框。
经过数小时的谷歌搜索后,我仍然无法解决这个问题。
你们能帮我举一个“简单”的例子来说明如何达到我的目标吗?
非常感谢!
我当前的代码是:(确保有更简单的方法可以做到这一点,但它有效!)
ImageView img1 = new ImageView("Layout/nl.png");
ImageView img2 = new ImageView("Layout/en.png");
AnimalBoxLanguage.getItems().addAll(img1, img2);
AnimalBoxLanguage.setCellFactory(new Callback<ListView<ImageView>, ListCell<ImageView>>() {
@Override
public ListCell<ImageView> call(ListView<ImageView> p) {
return new ListCell<ImageView>() {
private final ImageView rectangle;
{
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
rectangle = new ImageView();
}
@Override
protected void updateItem(ImageView item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setGraphic(null);
} else {
rectangle.setImage(item.getImage());
setGraphic(rectangle);
}
}
};
}
});