当前位置: 首页 > 知识库问答 >
问题:

JavaFX组合框图像

苍兴怀
2023-03-14

我试图创建一个组合框,它将显示所选图像的预览,但是组合框会显示字符串值。

唯一有效的方法似乎是创建节点的组合框,但这会导致一旦选定的选项从下拉菜单中消失,如果有人有任何建议,将不胜感激。

我下面的代码:

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());

以及列表单元格

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");
        }
    }

}

我希望列表关闭后,图像会显示在组合框中。现在它只是显示URL(例如文件:Java1.png)。


共有1个答案

苏涛
2023-03-14
匿名用户

您可以指定组合框的buttoncell属性

comboBox.setButtonCell(new StatusListCell());

按钮单元格用于呈现组合框“按钮”区域中显示的内容。

 类似资料:
  • 我需要关于设置组合框按钮单元格的帮助。我使用一个组合框来显示可观察列表中的数据,该列表包含两个列的表中的数据,“步骤”和“下一步”(下一步包含一个插入在步骤列中的项目);我需要做的是显示带有“步骤”列表的组合框列表单元格和相对的“下一步”按钮单元格。现在,我可以正确地看到列表单元格,但我的按钮单元格总是空的。 代码: 提前感谢。

  • 提前谢了。

  • 我想要一个组合框,它会在用户键入时过滤列表项。它应该如下工作: 键入时,文本字段应该显示一个可能的选择,但是用户尚未键入的单词部分应该突出显示。 当他打开列表时,下拉框应该只显示可能的选项? 使用箭头键,用户应该在缩小可能的项目后选择剩余的项目之一。 过滤并不重要,跳转到第一个匹配的选择也可以。 有类似的吗?

  • 我正在尝试使用一个可编辑的组合框。因为我想添加一个用于按回车键的监听器。我尝试了下面的选项,但都不起作用。:( < code>cmb_year是组合框对象。

  • 我有一个javafx组合框,其中有一个表视图作为弹出控件。问题是当我单击列标题进行排序时,弹出窗口消失了。如何将弹出窗口限制为仅在从表视图中选择行时才运行?

  • 我试图更改JavaFX组合框列表的文本颜色,但它似乎不起作用。 返回以下内容:下拉列表文本不是白色 我该怎么解决这个问题?我的CSS知识不是很强。