gpt4 book ai didi

java - 使用 HashMap 值更新标签

转载 作者:行者123 更新时间:2023-11-30 06:16:52 25 4
gpt4 key购买 nike

我在将标签 someLabel 与值绑定(bind)时遇到问题。

因此有一个带有 HashMap 字段的类用作库存:

public HashMap<Animals, Integer> inventory = new HashMap<>();

我需要实时显示这个整数值,就像某种计时器。

问题是,我尝试在标签上使用bind属性,但它只会显示初始值,并且绑定(bind)存在一些问题,因为它需要一个SimpleStringProperty 类实例作为属性。当我的 get(Object key) 方法被调用时,它在我修改后返回一个 String,并且不会让我这样做......

请为我指明正确的方向,我是否应该在每次调用 put() 方法时进行监视,以通过 setText() 保持标签处于 Activity 状态?

最佳答案

HashMap 未实现 Observable

然而,JavaFX 有 ObservableMap ,它确实实现了 Observable:

ObservableMap<Animals, Integer> inventory = FXCollections.observableHashMap();

Label label = ...
Animals key = ...

label.textProperty().bind(Bindings.valueAt(inventory, key).asString());

或进行更多控制

label.textProperty().bind(Bindings.createStringBinding(() -> Objects.toString(inventory.get(key), "n/a"), inventory);

关于java - 使用 HashMap 值更新标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48992532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com