java - 将评级值设置为文本框

标签 java javafx rating controlsfx

我在这里使用rating feature of ControlsFX 。每次更改评级值时,我都需要更新 TextField 中的值,如屏幕截图所示。是否可以在这里使用javafx.concurrent.Task?我该如何应用它? enter image description here

这是我的代码:

@FXML
private HBox ratinghbox;
@FXML
private TextField yourratingtxt;
private Rating rating;

@Override
public void initialize(URL url, ResourceBundle rb) {
    rating = new Rating();
    rating.setPartialRating(true);
    ratinghbox.getChildren().add(rating);
    yourratingtxt.setText(String.valueOf(rating.getRating()));
}

最佳答案

使用更改监听器

使用 ratingProperty 更新文本字段

rating.ratingProperty().addListener(new ChangeListener<Number>() {
    @Override
    public void changed(ObservableValue<? extends Number> observable,
                Number oldValue, Number newValue) {
        textField.setText(newValue.toString()); 
    }
});

使用绑定(bind)

您还可以在文本字段和评分之间创建双向绑定(bind)(仅当您擅长不编辑文本字段的值时)

textfield.setDisable(true)
Bindings.bindBidirectional(textField.textProperty(), rating.ratingProperty(),
            new NumberStringConverter());

如果您必须编辑文本字段,请不要使用此

关于java - 将评级值设置为文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009674/

相关文章:

JavaFX 使用 Ant 部署额外文件

css - 如何设置ControlsFX Popover组件的高度和宽度

php - ajax调用后无法获取div类="rateit"只读模式中的值

android - 在应用程序中对 Android 应用程序进行评级

jquery - 通过为视觉和后端选择的星形图像进行评级时出现的问题选择输入类型 radio 的隐藏值

java - 如何与另一件 JComboBox 元素交换?

java - 从网页发送数据到java套接字服务器的最快方法

java - 如何正确处理if条件下的java变量

java - 野蝇8.1.0 : invalid target release: 1. 8?

java - 移动刻度标签JavaFx 2