【问题标题】:Changing Smalltalk Pharo TextMorph contents dynamically动态更改 Smalltalk Pharo TextMorph 内容
【发布时间】:2015-07-25 04:25:43
【问题描述】:

有什么方法可以检索在 Pharo 中添加到 StandardWindow 的 TextMorph,然后更改其文本内容?

【问题讨论】:

    标签: smalltalk pharo


    【解决方案1】:

    您可以通过发送paneMorphspaneMorphSatisfying: 消息来检索SystemWindow 或其子类StandardWindow 的内容。

    您可以通过 - contents: 设置 TextMorph 的内容 :)

    在工作区或游乐场中逐行评估此示例并观察窗口中的文本:

    | textMorph text1 text2 window |
    textMorph := TextMorph new.
    text1 := 'Smalltalk is cool' asText.
    text2 := 'Pharo is cool' asText.
    textMorph contents: text1.
    window := textMorph openInWindow.
    window paneMorphs first contents: text2.
    

    这里我们只有一个paneMorph,即textMorph。在更复杂的布局中,您必须首先选择右侧的 paneMorph。或者,您首先会保留对 textMorph 的引用,而不必从窗口中检索它...

    【讨论】:

    • 谢谢你,这很有帮助。我的窗口中有 4 个文本变形。通过保留对 textmorphs 的引用,您的意思是将其保存为类中的实例变量吗?
    • 另外,有没有办法动态更新它们?就像我将内容:aVariable 分配给 Smalltalk 变量然后更新变量一样,我的 TextMorph 内容是否可能随之改变?
    • @ruhimehta 是的,将一个变量保留给您以后想要再次访问的变形。
    • @ruhimehta 你应该看看 Glamour 或 Spec 框架。我还记得曾经发布过一个类似的问题:stackoverflow.com/q/15534305/2012262 看看那里的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多