JavaFX文本更改事件

neu*_*se7 3 textarea javafx addeventlistener

我在FXML文档中设计了一个表单.我可以处理按键与事件.但我需要文本更改事件.我正在使用Netbeans 7.3.项目中有三个文件:SampleControler,Sample.FXML和Sample.java.我找到了一个代码,但我还没有解决使用它的问题.

input.textProperty().addListener(new ChangeListener<String>() {
        @Override 
        public void changed(ObservableValue ov, String t, String t1) {                
            System.out.println("Changed.");              
        }    
    });
Run Code Online (Sandbox Code Playgroud)

我的TextArea代码是:

<TextArea layoutX="10" layoutY="50" maxHeight="125" minHeight="125" maxWidth="570" minWidth="570" editable="true" fx:id="input" prefWidth="570" prefHeight="125" />
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

ago*_*st_ 11

在与您的fxml相关联的控制器中,获取TextArea,您可以执行以下操作:

yourTextArea.textproperty().addListener ...

public class Example implements Initializable {

    @FXML
    private TextArea textArea;

    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
        textArea.textProperty().addListener(new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue<? extends String> observableValue, String s, String s2) {

            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器上的varibale名称需要与fxml中的fx:id具有相同的名称