我正在做一个项目。在这个项目中,我必须拥有一家拥有大量卡片清单的商店。我对JavaFX也很陌生。
我做了一个继承窗格的自定义类。它具有图像视图和一些标签,以显示卡的名称和描述。
知道我的问题是,我应该如何将它们添加到场景中以显示此项目的可滚动列表?我的场景应该具有哪些组件。 (我在下面的代码中省略了导入)
CardView.java ----加载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
实际上,我想拥有一张可以滚动的这张卡很大的清单。我应该怎么做?我应该使用哪些组件。我还必须注意,我可以访问JFoenix。
答案 0 :(得分:1)
使用列表视图。这是一个虚拟控件,因此它仅创建视觉范围内的节点。
您可以应用css使背景透明。