我希望javafx标签能够自动更新为正在键入文本字段的内容,目前我只有在单击输入时才更改它。我正在使用swing和javafx的混合。
这可能吗?
感谢
exprField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Platform.runLater(new Runnable() {
@Override
public void run() {
fxLabel.setText(exprField.getText());
}
});
}
});
答案 0 :(得分:3)
您可以使用绑定机制来实现此目的。
GridPane p = new GridPane();
TextField tf = new TextField("DEFAULT");
Label l1 = new Label("...");
l1.textProperty().bind(tf.textProperty());
p.add(tf, 0, 0);
p.add(l1, 1, 0);
Scene sc = new Scene(p, 500, 500);
arg0.setScene(sc);
arg0.show();
此代码将文本框和标签设置为gridpane。标签的text属性绑定到textfield的text属性,这意味着只要文本字段发生更改,标签的文本就会根据文本字段中的任何文本进行更新。
可在此处找到更多信息:http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm