如何让textarea从文本字段中获取用户输入?如何从控制器控制这些按钮,是否有任何可能的方法,当用户提交时,我可以使文本字段充当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>
答案 0 :(得分:0)
在控制器中为按钮添加操作:
在SceneBuilder中添加控制器类 要指定控制器的类,请在选项卡&#34; Controller&#34;下选中SceneBuilder的右侧。是一个名为&#34;控制器类&#34;的文本字段。另请注意,所有节点都有一个列表,其中包含&#34; fx-id&#34;。
将fx:id添加到控制器中所需的所有节点 对于需要在控制器中使用的任何组件,请添加fx:id。对于操作,请在选项卡中添加方法名称&#34; Code&#34;任何组件。例如,如果您想要按钮的操作&#34;提交&#34;在字段中添加方法的名称&#34; On Action&#34;命名&#34; submitPushed&#34;
在控制器的课程中添加所有带有fx:id 的节点 对于使用fx:id归属的每个节点,您需要使用注释@FXML将其添加为控制器类中的属性。对于具有fx:id textSubmit的TextField,您将在控制器中添加属性
@FXML TextField textSubmit
在控制器类中定义操作的方法 对于名为&#34;提交&#34;的按钮;通过动作&#34; submitPushed&#34;你需要声明动作的方法
@FXML submitPushed(ActionEvent event){
//add code here for what the button should do
}
如果要在按下提交按钮时将TextField的内容添加到TextArea
@FXML submitPushed(ActionEvent event){
String content=textField.getText();
String contentTextArea = textArea.getText();
textArea.setText(contentTextArea+"\n"+content);
}