gpt4 book ai didi

java - 当在 TextField 中输入每个字符时,如何在 TextArea 中显示每个字符?

转载 作者:行者123 更新时间:2023-11-30 03:15:38 27 4
gpt4 key购买 nike

我试图在将每个字符输入 TextField 时立即将其显示到 TextArea 中。

我写了一些代码如下,但没有工作:

Application_Controler.java

public class Application_Controler {

@FXML
private TextField txt;

@FXML
private TextArea showTxt;

@FXML
void keyTyped(ActionEvent event) {
String text = txt.getText();
String oldText = showTxt.getText();
String nextText = oldText+text;
showTxt.setText(nextText);
}

}

这是 .fxml 文件:

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

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>


<AnchorPane xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.40" fx:controller="imran.jfx.application.Application_Controler">
<children>
<AnchorPane layoutX="-17.0" layoutY="-14.0" prefHeight="461.0" prefWidth="454.0">
<children>
<TextField fx:id="txt" layoutX="122.0" layoutY="87.0" onKeyTyped="#keyTyped" prefHeight="55.0" prefWidth="229.0" />
<TextArea fx:id="showTxt" layoutX="56.0" layoutY="215.0" prefHeight="210.0" prefWidth="362.0" />
</children>
</AnchorPane>
</children>
</AnchorPane>

我该怎么做?

最佳答案

您可以将 TextField 的 textProperty() 绑定(bind)到 TextArea 的 textProperty()

textArea.textProperty().bind(textField.textProperty());

尝试在 Controller 的 initialize() 中添加以下代码:

public class Application_Controler implements Initializable {

@FXML
private TextField txt;

@FXML
private TextArea showTxt;

@Override
public void initialize(URL location, ResourceBundle resources) {
showTxt.textProperty().bind(txt.textProperty());
}
}

关于java - 当在 TextField 中输入每个字符时,如何在 TextArea 中显示每个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com