在键盘输入上更改标签javafx

时间:2013-11-04 17:45:33

标签: javafx actionlistener

我希望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());

                        }
            });
        }
    });

1 个答案:

答案 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