【问题标题】:JavaFX Text Change EventJavaFX 文本更改事件
【发布时间】:2013-06-22 18:51:00
【问题描述】:

我在 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.");              
        }    
    });

我的 TextArea 代码是:

<TextArea layoutX="10" layoutY="50" maxHeight="125" minHeight="125" maxWidth="570" minWidth="570" editable="true" fx:id="input" prefWidth="570" prefHeight="125" />

我该怎么办?

【问题讨论】:

    标签: textarea javafx addeventlistener


    【解决方案1】:

    在与你的 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) {
    
                }
            });
        }
    }
    

    控制器上的变量名需要和fxml中的fx:id同名

    【讨论】:

    • 感谢您的帮助。你对我帮助很大:) 再次感谢。
    猜你喜欢
    • 2014-01-26
    • 2011-10-09
    • 2011-08-28
    • 2017-04-14
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多