作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 JavaFX 应用程序,我需要使用其 将 n 个
方法。 TextField
对象添加到 GridPane
中的一行>addRowaddRow
接受任意数量的参数,但它接收的 TextField
对象的数量不是硬编码的。例如,
GridPane gp = new GridPane();
ArrayList<TextField> tf = new ArrayList<>();
for (int i = 0; i < user_entered_number; i++) {
tf.add(new TextField());
}
gp.addRow(row_index, /* all elements in tf*/);
我希望使用 allRow
方法将所有生成的 TextField
对象包含在 row_index
的 GridPane
行中。
如果这可能的话,我该怎么做?
最佳答案
GridPane.addRow(...)
method接受一个 int
(行索引)和一个 Node
的可变参数。您可以为 varargs 参数传递一个数组,因此您可以这样做
gp.addRow(row_index, tf.toArray(new Node[0]));
或者,首先创建一个数组而不是列表:
GridPane gp = new GridPane();
TextField[] tf = new TextField[userEnteredNumber];
for (int i = 0; i < userEnteredNumber; i++) {
tf[i] = new TextField();
}
gp.addRow(row_index, tf);
关于Java:如何将动态数量的参数传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44123090/
我是一名优秀的程序员,十分优秀!