0

我希望将 javafx 标签自动更新为正在输入到文本字段中的内容,目前我只有在单击 enter 时才会更改它。我正在使用 swing 和 javafx 的组合。

这可能吗?

谢谢

exprField.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Platform.runLater(new Runnable() {
                @Override
                public void run() {
                fxLabel.setText(exprField.getText());

                        }
            });
        }
    });
4

1 回答 1

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();

此代码将文本框和标签设置为网格窗格。标签的文本属性绑定到文本字段的文本属性,这意味着一旦文本字段发生更改,标签的文本就会根据文本字段中的任何文本进行更新。

更多信息可以在这里找到:http: //docs.oracle.com/javafx/2/binding/jfxpub-binding.htm

于 2013-11-04T21:54:35.970 回答