如何在Codename One中重新加载/刷新组件?

时间:2017-03-15 03:10:04

标签: java codenameone

LabelImages中包含的数据会动态更新并从server加载。如何在不调用Display.getInstance().callSerially(.)的情况下刷新或重新加载它们?

如果我的Label中的文字已更新,我只想更新该元素本身。我怎样才能做到这一点?我似乎无法找到任何refresh()reload()方法。

2 个答案:

答案 0 :(得分:2)

我不太确定,但我想你可以添加这样的东西:

yourlabel.repaint();

答案 1 :(得分:1)

setText将更新文字并重新制作。但是,如果文本大小不同,则布局可能会发生变化,因此您需要进行revalidateanimateLayout*调用以重排UI,否则在某些情况下可能看起来不像您期望的那样。

如果您使用的是单独的线程(例如,不在EDT上的网络回调),则需要callSerially以避免违反EDT并且难以检测到设备错误。