如何在JavaFX中向窗格动态添加数据
我正在处理javafx项目,我陷入了这个问题,我想显示数据库中的数据,每个数据我想显示在不同的窗格中,所以我必须循环查看我的数据 这是我的密码如何在JavaFX中向窗格动态添加数据,javafx,javafx-2,javafx-3d,Javafx,Javafx 2,Javafx 3d,我正在处理javafx项目,我陷入了这个问题,我想显示数据库中的数据,每个数据我想显示在不同的窗格中,所以我必须循环查看我的数据 这是我的密码 @FXML private Pane pane; @FXML private Label lblusername; @FXML private Label lbldescription; /** * Initializes the controller class. */ @Override public void initialize(U
@FXML
private Pane pane;
@FXML
private Label lblusername;
@FXML
private Label lbldescription;
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
IPublicationService ps = new PublicationService();
IMembreService ms = new MembreService();
List<Publication> lp = ps.getAll();
for (int i = 0; i < lp.size(); i++) {
// lp.get(i).getCreateur().getId() retourne id dde user
// getuser retroune un objet user
lblusername = new Label(ms.getUser(lp.get(i).getCreateur().getId()).getUsername());
lbldescription = new Label(lp.get(i).getDescription());
pane = new Pane();
pane.setLayoutX(14.0);
pane.setLayoutY(137.0);
pane.setPrefHeight(200.0);
pane.setPrefWidth(705.0);
pane.setStyle("-fx-background-color: darkgrey");
pane.getChildren().addAll(lblusername,lbldescription);
}
@FXML
专用窗格;
@FXML
私有标签lblusername;
@FXML
自有品牌LBL说明;
/**
*初始化控制器类。
*/
@凌驾
公共void初始化(URL、ResourceBundle rb){
IPPublicationService ps=新的PublicationService();
IMembreService ms=新的MembreService();
List lp=ps.getAll();
对于(int i=0;i
但是当我运行我的项目时,我什么都没有得到这是我的输出
窗格
是您要用来存放所有项目的容器。但您在每个迭代步骤中都要重新创建此窗格
:窗格=新窗格();
,因此原始的一个仍然是空的。我建议修改FXML文件,并将例如aVBox
作为根目录。然后在每个迭代步骤中创建一个新的窗格
,如Pane Pane=new Pane();
,然后将此窗格
添加到VBox
:VBox.getChildren.add(窗格);
。原始窗格如何保持为空?我在每次迭代中都会对其进行更改,并向其添加项目?我不明白您能否帮助我编写一些代码原始的窗格
由FXMLLoader插入,该窗格
显示在GUI上,变量窗格
是指向该窗格
的指针。何时您可以调用pane=new pane();
将此指针修改为新的窗格
,该窗格不属于场景图的一部分(未显示在GUI上),但原始窗格仍保留在那里,并保持为空。Thnk您为我节省了很多钱