gpt4 book ai didi

JavaFX 组合框图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:38 25 4
gpt4 key购买 nike

我正在尝试创建一个 ComboBox 来显示所选 Image 的预览,但 ComboBox 显示的是字符串值。

似乎唯一可行的方法是创建 NodeComboBox,但这会导致一旦选择的选项从下拉菜单中消失,如果有人有任何建议,我们将不胜感激.

我的代码如下:

String notOnLine = "file:Java1.png";
String onLine = "file:Java2.png";
ObservableList<String> options = FXCollections.observableArrayList();
options.addAll(notOnLine, onLine);
final ComboBox<String> comboBox = new ComboBox(options);
comboBox.setCellFactory(c -> new StatusListCell());

ListCell:

public class StatusListCell extends ListCell<String> {
protected void updateItem(String item, boolean empty){
super.updateItem(item, empty);
setGraphic(null);
setText(null);
if(item!=null){
ImageView imageView = new ImageView(new Image(item));
imageView.setFitWidth(40);
imageView.setFitHeight(40);
setGraphic(imageView);
setText("a");
}
}

}

preview

我希望图像在列表关闭后显示在 ComboBox 本身中。现在它只是显示 URL(例如 file:Java1.png)。

最佳答案

您可以指定 buttonCellProperty ComboBox 的:

comboBox.setButtonCell(new StatusListCell());

The button cell is used to render what is shown in the ComboBox 'button' area.

关于JavaFX 组合框图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38030534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com