簡體   English   中英

在TextField中鍵入每個字符時,如何顯示在TextArea中?

[英]How do I show each character in TextArea when it is typed in TextField?

我試圖在將每個字符鍵入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>

我該怎么辦?

您可以將textProperty() of TextFieldtextProperty() of TextArea綁定到textProperty() of TextAreatextProperty() of TextArea

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

嘗試在控制器的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());
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM