gpt4 book ai didi

java - ListView JavaFX 中的自定义项目

转载 作者:行者123 更新时间:2023-12-02 02:14:02 30 4
gpt4 key购买 nike

我对 JavaFX 中的 ListView 有疑问。

如何在 ListView 中执行自定义项目,如下所示:

ScreenShot SS

其次,当我单击 Button1 时,我想显示 image2 和 textfield1

最佳答案

实现您自己的 CellFactory 可以为您提供想要应用于 ListView 单元格的所有选项。不幸的是,您上传的图片无法打开,所以我无法理解您的确切要求。无论如何,这就是您为 ListView 设置 CellFactory 的方式,其中 T 是您的数据类型。

ListView#setCellFactory(Callback<ListView<T>, ListCell<T>> value)

示例:

ListView<Employee> listView = new ListView<>();
listView.setCellFactory(new Callback<ListView<Employee>, ListCell<Employee>>() {
@Override
public ListCell<Employee> call(ListView<Employee> param) {
return new ListCell<Employee>() {

private ImageView imageView = new ImageView("ImageURL");
private TextField textField = new TextField("Text");
private Button button = new Button("Button");
private BorderPane bp = new BorderPane(imageView, null, button, null, textField);

@Override
protected void updateItem(Employee item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setText(null);
setGraphic(null);
} else {
setText(item.getName());
setGraphic(bp);
}
}
};
}
});

关于java - ListView JavaFX 中的自定义项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49552374/

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