2013-06-22 119 views
2

我在FXML文档中设计了一个表单。我可以处理按键与事件。但我需要文字更改事件。我使用的是Netbeans 7.3。项目中有三个文件:SampleControler,Sample.FXML和Sample.java。我发现了一个代码,但我还没有解决它的使用方法。JavaFX文本更改事件

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

我的文本区域代码是:

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

我该怎么办?

回答

9

在你的控制器associeted您FXML,让你的文本区域,你将可以做到:

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) { 

      } 
     }); 
    } 
} 

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

+0

感谢您的帮助。你非常帮助我:)再次感谢你。 –

+0

没问题,如果你没有更多的问题,不要忘记标记答案为最喜欢的。 –