首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用标签填充GridPane

用标签填充GridPane
EN

Stack Overflow用户
提问于 2017-03-18 11:36:27
回答 2查看 601关注 0票数 1

我有这个构造器,我正在尝试用标签填充网格窗格。我碰壁了,完全不知道出了什么问题。我需要在一行中创建13个标签。

构造函数:

代码语言:javascript
复制
public class Labels {
   @FXML
    GridPane gridPane = new GridPane();

    public Labels(String labelname, int columnIndex, int rowIndex) {
        Label label = new Label();
        gridPane.setColumnIndex(label, columnIndex);
        gridPane.setRowIndex(label, rowIndex);
        label.setId(labelname+columnIndex);
        label.setVisible(true);
        label.setText("test");
    }   

}

控制器中的循环:

代码语言:javascript
复制
for(int i2=0; i2<13; i2++){

        Labels labels = new Labels("label", i2, 3);
 }
EN

回答 2

Stack Overflow用户

发布于 2017-03-18 14:49:41

您没有将Label%s添加到GridPane。此外,您对每个Label都使用新的GridPane,并且从不在任何地方使用这些GridPane

代码语言:javascript
复制
public class Labels {

    private GridPane gridPane = new GridPane();

    public GridPane getGridPane() {
        return gridPane; 
    }

    public void addLabel(String labelname, int columnIndex, int rowIndex) {
        Label label = new Label();
        GridPane.setColumnIndex(label, columnIndex);
        GridPane.setRowIndex(label, rowIndex);
        label.setId(labelname+columnIndex);
        label.setText("test");

        gridPane.getChildren().add(label);
    }   

}
代码语言:javascript
复制
Labels labels = new Labels();

for(int i2=0; i2<13; i2++){
    labels.addLabel("label", i2, 3);
}

GridPane gridPane = labels.getGridPane();
// TODO: display gridPane
票数 1
EN

Stack Overflow用户

发布于 2017-03-18 14:05:44

(总是发布mcve)

代码语言:javascript
复制
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class LabelsRow extends Application {

    GridPane gridPane;

    @Override
    public void start(Stage primaryStage) {

        gridPane = new GridPane();

        for(int i2=0; i2<13; i2++){
            new Labels("label "+i2 , i2, 3);
        }

        Scene scene = new Scene(gridPane);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public class Labels {

        Labels labels;

        Labels(String labelname, int columnIndex, int rowIndex) {
            Label label = new Label();
            //gridPane.setColumnIndex(label, columnIndex);
            //gridPane.setRowIndex(label, rowIndex);
            gridPane.add(label, columnIndex, rowIndex);
            label.setId(labelname+columnIndex);
            label.setVisible(true);
            label.setText(labelname);
        }

    }

    public static void main(String[] args) {
        launch(args);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42870161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档