从javafx创建note应用程序

从javafx创建note应用程序,javafx,fxml,scenebuilder,Javafx,Fxml,Scenebuilder,如何使textarea从textfield获取用户输入?如何从控制器控制这些按钮,是否有任何可能的方法可以让textfield在用户提交时充当textarea,用户可以在单击textarea进行编辑时对其进行编辑 <?xml version="1.0" encoding="UTF-8"?> <?import javafx.geometry.*?> <?import java.lang.*?> <?import java.util.*?> <

如何使textarea从textfield获取用户输入?如何从控制器控制这些按钮,是否有任何可能的方法可以让textfield在用户提交时充当textarea,用户可以在单击textarea进行编辑时对其进行编辑

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafxnote.Note2Controller">
   <top>
      <AnchorPane prefHeight="56.0" prefWidth="600.0" BorderPane.alignment="CENTER">
         <children>
            <Button fx:id="btn2" layoutX="555.0" layoutY="10.0" mnemonicParsing="false" onMouseClicked="#test" text="x" />
         </children>
      </AnchorPane>
   </top>
   <center>
      <TextArea prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
         <BorderPane.margin>
            <Insets left="10.0" right="10.0" />
         </BorderPane.margin></TextArea>
   </center>
   <padding>
      <Insets bottom="20.0" />
   </padding>
   <bottom>
      <VBox prefHeight="149.0" prefWidth="600.0" BorderPane.alignment="CENTER">
         <children>
            <TextField prefHeight="111.0" prefWidth="600.0">
               <VBox.margin>
                  <Insets />
               </VBox.margin>
            </TextField>
            <AnchorPane prefHeight="38.0" prefWidth="580.0">
               <children>
                  <Button fx:id="btsub" layoutX="434.0" layoutY="21.0" mnemonicParsing="false" text="submit" />
                  <Button fx:id="btcl" layoutX="518.0" layoutY="21.0" mnemonicParsing="false" text="clear" />
               </children>
            </AnchorPane>
         </children>
         <BorderPane.margin>
            <Insets left="10.0" right="10.0" />
         </BorderPane.margin>
      </VBox>
   </bottom>
</BorderPane>

要在控制器中为按钮添加操作:

在SceneBuilder中添加控制器类 要指定控制器的类,请检查“控制器”选项卡下SceneBuilder的右侧是一个名为“控制器类”的文本字段。还请注意,有一个包含所有具有“fx id”的节点的列表

向控制器中需要的所有节点添加fx:id 对于需要在控制器中使用的任何组件,请添加fx:id。对于操作,请选中在任何组件的“代码”选项卡中添加方法名称。例如,如果您想要按钮“Submit”的操作,请在名为“submitPushed”的“操作”字段中添加方法的名称

在控制器的类中添加带有fx:id的所有节点 对于使用fx:id属性化的每个节点,需要将其添加为带有注释@FXML的控制器类中的属性。对于带有fx:id textSubmit的文本字段,您将在控制器中添加一个属性

@FXML TextField textSubmit 
在控制器类中定义操作的方法 对于名为“Submit”的按钮和操作“submitPushed”,您需要声明操作的方法

@FXML submitPushed(ActionEvent event){
    //add code here for what the button should do
}
如果要在按下“提交”按钮时将文本字段的内容添加到文本区域

@FXML submitPushed(ActionEvent event){
    String content=textField.getText();
    String contentTextArea = textArea.getText();
    textArea.setText(contentTextArea+"\n"+content);
}

要在控制器中为按钮添加操作,请执行以下操作:

在SceneBuilder中添加控制器类 要指定控制器的类,请检查“控制器”选项卡下SceneBuilder的右侧是一个名为“控制器类”的文本字段。还请注意,有一个包含所有具有“fx id”的节点的列表

向控制器中需要的所有节点添加fx:id 对于需要在控制器中使用的任何组件,请添加fx:id。对于操作,请选中在任何组件的“代码”选项卡中添加方法名称。例如,如果您想要按钮“Submit”的操作,请在名为“submitPushed”的“操作”字段中添加方法的名称

在控制器的类中添加带有fx:id的所有节点 对于使用fx:id属性化的每个节点,需要将其添加为带有注释@FXML的控制器类中的属性。对于带有fx:id textSubmit的文本字段,您将在控制器中添加一个属性

@FXML TextField textSubmit 
在控制器类中定义操作的方法 对于名为“Submit”的按钮和操作“submitPushed”,您需要声明操作的方法

@FXML submitPushed(ActionEvent event){
    //add code here for what the button should do
}
如果要在按下“提交”按钮时将文本字段的内容添加到文本区域

@FXML submitPushed(ActionEvent event){
    String content=textField.getText();
    String contentTextArea = textArea.getText();
    textArea.setText(contentTextArea+"\n"+content);
}