如何在visualworks smalltalk中主动更改标签的字符串

时间:2010-07-13 22:43:37

标签: smalltalk visualworks

我正在尝试在程序运行期间动态地动态更改ApplicationModel中标签的值。 我试过了:

(self builder labelAt: #Label4) labelString: 'Dynamic text here'.

但是得到一个labelString不明白的错误。 我跑的时候:

(self builder labelAt:#Label4)

我得到“UndefinedObject”。这显然表明我没有返回我的Label对象。

2 个答案:

答案 0 :(得分:3)

尝试

(self builder componentAt: #Label4) widget labelString: 'whatever'

(self widgetAt: #Label4) labelString: 'whatever'

答案 1 :(得分:0)

如果您有更改值的模型,则使用绑定到模型的只读InputField非常容易。我敢说有一个改变价值的模型通常是一个好主意。

如果将InputField定义为只读且带有边框,则它看起来与常规文本标签完全相同。从用户的角度来看,唯一的区别在于能够从只读输入字段中选择和复制文本,这在很多情况下很有用。

另一方面,标签可以拥有更丰富的外观。您可以使用Text,ComposedText或Image。