【问题标题】:Dynamically Adding TextField to javafx scene将 TextField 动态添加到 javafx 场景
【发布时间】:2015-02-23 09:46:37
【问题描述】:

我是 JavaFX 的新手。我想与我的场景互动。
例如:当我点击一个按钮时,我会在其中添加一个新按钮 Textfield ..。 但是,我搜索但没有找到令人满意的答案!

我的 fxml 文件:

 <children>
    <Label layoutX="59.0" layoutY="83.0" text="message Type"/>
    <Button layoutX="157.0" layoutY="354.0" mnemonicParsing="false" onAction="#goBack" text="Revenir à la page precedente" />
    <Button layoutX="348.0" layoutY="354.0" mnemonicParsing="false" onAction="#goToDash" text="Go To Screen3" />
    <Button layoutX="375.0" layoutY="84.0" mnemonicParsing="false" onAction="#AddTextfiled" prefHeight="25.0" prefWidth="28.0" text="+" />
    <Button layoutX="375.0" layoutY="84.0" mnemonicParsing="false" onAction="#RemoveTextfield" prefHeight="25.0" prefWidth="28.0" text="-" />
    <TextField layoutX="212.0" layoutY="84.0" />
  </children>

我的控制器:

@FXML
private void goBack1(ActionEvent event){
   myController.setScreen(ScreensFramework.screenPreviousID);
}

@FXML
private void goToDash(ActionEvent event){
   myController.setScreen(ScreensFramework.screenDashID);
}
@FXML
private void AddTextField(ActionEvent event)  {     
 //add textfield on click}

@FXML
private void RemoveTextField(ActionEvent event)  {     
 //remove textfield on click

}

【问题讨论】:

  • 除了您自己找到的答案之外,没有任何答案是令人满意的。你尝试了什么,问题是什么?解决这个问题的方法不止一种。
  • @fge 我已经编辑了我的问题
  • 你的问题还不是很清楚。请更准确。
  • @itachiUchicha 实际上我想做的是创建一个场景,用户可以在其中添加和输入一个或多个字段!例如:用户有不同的职业或类似的东西!
  • 我不确定我是否理解您的要求。 用户可以添加和输入一个或多个字段

标签: java javafx


【解决方案1】:

你需要为你的场景中的一个可以带孩子的容器提供一个 fx:id。假设您有一个堆栈窗格,定义如下:

@FXML
    private VBox pane_main_grid;

其中 pane_main_grid 在 .fxml 文件中使用 fx:id 定义。伟大的。

现在,使用您前面提到的代码。

@FXML
private void AddTextField(ActionEvent event)  {     
 TextField newField = new TextField();
 pane_main_grid.getChildren().add(newField);}

我将把删除留给你,你需要做的就是想出一种方法来跟踪你创建的文本字段,然后当你想要删除一个时,你可以执行pane_main_grid.remove({index of text field to remove});之类的操作

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    相关资源
    最近更新 更多