gpt4 book ai didi

JavaFX 制作自定义组件的可滚动列表

转载 作者:行者123 更新时间:2023-12-02 09:49:17 25 4
gpt4 key购买 nike

我正在做一个项目。在这个项目中,我必须有一个拥有大量卡片的商店。我对 JavaFX 也很陌生。

我创建了一个继承pane的自定义类。它有一个 ImageView 和一些标签来显示卡片的名称和描述。

知道我的问题是我应该如何将它们添加到场景中以获得该项目的可滚动列表?我的场景应该有哪些组件。 (我在下面的代码中省略了导入)

CardView.java ---- Custom component that loads an fxml

public class CardView extends Pane {
CardController cardController;
Node view;

public CardView() {

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("../FXMLFiles/Card.fxml"));
fxmlLoader.setControllerFactory(new Callback<Class<?>, Object>() {
@Override
public Object call(Class<?> param) {
return cardController = new CardController();
}
});
try {
view = (Node) fxmlLoader.load();

} catch (IOException ex) {
}
getChildren().add(view);
cardController.setNameAndDsc("Card", "This is A card", heroImg);
}

}

CardController.java

public class CardController {
@FXML
private Label name_lbl;

@FXML
private Label dsc_lbl;

@FXML
private ImageView card_img;


public void setNameAndDsc(String name, String dsc, Image img) {
name_lbl.setText(name);
dsc_lbl.setText(dsc);
card_img.setImage(img);
}

public void setName_lbl(Label name_lbl) {
this.name_lbl = name_lbl;
}

public void setDsc_lbl(Label dsc_lbl) {
this.dsc_lbl = dsc_lbl;
}

public void setCard_img(ImageView card_img) {
this.card_img = card_img;
}
}

Card.fxml

Card.fxml 的总体 View : enter image description here

实际上我想要一张可以滚动的这张卡片的巨大列表。我该怎么做呢?我应该使用什么组件。我还必须注意,我可以访问 JFoenix。

最佳答案

使用 ListView 。它是一个虚拟控件,因此它只创建视觉边界内的节点。

您可以应用CSS使背景透明。

关于JavaFX 制作自定义组件的可滚动列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56430455/

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