我正在编写一个程序,允许用户在需要向表单添加更多数据时添加新的空文本字段。我无法理解如何为添加到我的 GridPane 的每个新字段设置坐标。例如,
btnClick.setOnAction(new EventHandler<ActionEvent>(){
public void handle(ActionEvent e)
{
TextField text = new TextField();
primaryPane.add(text, 5 , 6);
}});
只会导致在位置 (5,6) 中添加一个新的文本字段。如何更改代码以允许用户添加任意数量的字段,一个接一个地显示。我知道我可以对确定数量的新字段使用循环,但是用户应该能够创建任何数量。在此先感谢您的帮助。
内森
最佳答案
This code help you.
public class AddTextField extends Application {
int i = 1;
@Override
public void start(Stage primaryStage) {
GridPane root = new GridPane();
root.setHgap(10);
root.setVgap(10);
TextField textField[] = new TextField[15];
Button btn = new Button("Add TextField");
root.add(btn, 0, 0);
btn.setOnAction(e -> {
textField[i] = new TextField();
root.add(textField[i], 5, i);
i = i + 1;
});
final Scene scene = new Scene(root, 500, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}}
关于JavaFX 动态添加新的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43236004/