当前位置: 首页 > 知识库问答 >
问题:

文本字段和标签数组

锺离德庸
2023-03-14

在这里,我试图在数组中创建文本字段和标签,并将它们添加到网格窗格中,但在注释行和以后的行中会遇到问题。

GridPane pane=new GridPane();
pane.setPadding(new Insets(50,0,0,50));
pane.setVgap(20);
pane.setHgap(40);
Label Arrival= new Label("Arrival Time");
Label Burst= new Label("Burst Time");
TextField[] ArrvialInput= new TextField[10];
TextField[] BurstInput= new TextField[10];
Label Process= new Label();
for (int i=0; i<=10-1; i++) {
    TextField textFieldA = new TextField();
    TextField textFieldB = new TextField();
    ArrvialInput[i] = textFieldA;
    BurstInput[i] = textFieldB;
    Process= new Label("P"+(i+1));
}
for (int i=0; i<=10-1; i++) {
    pane.add(Process, 0, i+1); //Run Time error here 
    pane.add(Arrival, 1, i+1);
    pane.add(ArrvialInput[i], 2, i+1);
    pane.add(Burst, 0, i);
    pane.add(BurstInput[i], 4, i+1);
}

共有1个答案

陈霄
2023-03-14

如果不需要访问标签,您可以这样做,但@fabian说“将同一节点多次添加到同一父节点会导致异常”是正确的

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        GridPane pane=new GridPane();
        pane.setPadding(new Insets(50,0,0,50));
        pane.setVgap(20);
        pane.setHgap(40);
//        Label Arrival= new Label("Arrival Time");
//        Label Burst= new Label("Burst Time");
        TextField[] ArrvialInput= new TextField[10];
        TextField[] BurstInput= new TextField[10];
//        Label Process= new Label();
        for (int i=0; i<=10-1; i++) {
            TextField textFieldA = new TextField();
            TextField textFieldB = new TextField();
            ArrvialInput[i] = textFieldA;
            BurstInput[i] = textFieldB;
//            Process= new Label("P"+(i+1));
        }
        for (int i=0; i<=10-1; i++) {
            pane.add(new Label("P"+(i+1)), 0, i+1);
            pane.add(new Label("Arrival Time"), 1, i+1);
            pane.add(ArrvialInput[i], 2, i+1);
            pane.add(new Label("Burst Time"), 3, i+1);
            pane.add(BurstInput[i], 4, i+1);
        }


        Scene scene = new Scene(pane);
        stage = new Stage();
        stage.setScene(scene);
        stage.show();

    }


    public static void main(String[] args) { launch(args); }
}
 类似资料:
  • 嗨,我试图创建一个由JComboBox和JTextField组成的接口。我已经整理好了向JComboBox添加标签的代码,但是我在向文本字段添加标签时遇到了麻烦。如有任何帮助,不胜感激。

  • 我如何用材料组件做到这一点? 我不想在边框之间有这样的标签:(当你有多个填充字段时,这看起来不再好看了,在我看来,所有中断的边框都很紧张)

  • 我意识到这是一个非常基本的问题,但我才刚刚开始具体学习GUI和JavaFX。我有一个标签及其适当的文本输入字段列表和一个计算结果的按钮。我想把它们都排列成这样: 标签.........文本字段 标签.........文本字段 在窗格本身居中对齐。我试过将对齐设置为中心,但它只在水平轴上起作用。我试过使用VBox和HBox,但它们给出的输出是一样的。我甚至用不同的值尝试了setPadding(0,0

  • 我正在使用IntelliJIdea。我想显示我在Textfield中提交的所有数字。所以我创建了一个ArrayList来将我提交的所有数字放在那里。但是,每次我按下按钮时,它都不会添加所有列表,而是只添加我提交的1个数字。如何显示我在Textfield中提交的所有数字并使用标签显示它。我使用的是单独的fxml。 在此输入图像描述 样品fxml: Controller.java

  • 问题内容: 我希望将数组的值传递给chart.js数据集的数据和标签字段。 这里成功获取ajax调用以获取json数据的代码。我获取json数据并将其存储到数组中。 现在,我希望将此标签值用于所提交的标签中。 但是似乎存在一些问题,数据没有在图表上呈现 问题答案: LabelResult是一个数组,更改 至 也: 至 喜欢:

  • 我正在编写一个使用javafx FXML生成日志文件的程序。是否可以生成一组与仪器相关联的文本字段。示例:型号:Sn:Tg:Gas: 我需要收集每个仪器的信息,但有些地方有5个单位,有些只有1个。我正在寻找有字段生成从用户输入多少他们需要。这是我能做的吗?