FXML は初めてで、アプリケーションを構築しています。今、私は修正できない問題に直面しています。
FXML でコンボボックスを定義し、コントローラー クラスで必要な関連付けを作成しました。しかし、このコンボボックスに画像を追加したいです。
Googleで何時間も検索した後でも、まだこれを修正できません。
私の目標を達成する方法の「簡単な」例を教えてください。
どうもありがとう!
私の現在のコードは次のとおりです(これを行うためのより簡単な方法があることを確認してください、しかしそれはうまくいきます!)
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);
}
}
};
}
});