Pharo Smalltalk:如何使用TextMorph创建一个输入字段,然后从输入字段中获取数据



我对Pharo,Smalltalk完全陌生。我正在开发一个小应用程序,可以将温度从华氏度转换为摄氏度。任何人都可以告诉我如何使用 TextMorph 创建输入字段并将其显示在窗口上,如屏幕截图所示。 此外,能够在单击按钮时从输入字段中取回数据。下面的代码是我到目前为止所做的。截图

类温度变形

 BorderedMorph subclass: #TemperatureMorph
        instanceVariableNames: 'tempInputField counter'
        classVariableNames: ''
        package: 'Assignment'

初始化方法:包含标签、文本框和按钮。

initialize 
    | headingLabel converterButton|
    super initialize.
    self bounds: (0@0 corner:300@300).
    self color: Color gray.
    headingLabel := StringMorph contents: 'Converter'.
    headingLabel position: 130@20. 
    self addMorph: headingLabel.
    tempInputField := TextMorph new.     
    tempInputField position: 50@50. 
    self addMorph: tempInputField.

谢谢

另一方面不是,如果你在 Pharo 中做 UI 的东西是为了学习以外的任何东西(它看起来像 OP/is/学习,所以这可能不适用)。您应该查看魅力或规格。两者都有非常简单的文本输入和控制系统。

规范魅力

您已经可以在屏幕截图中看到必要的代码,只需将StringMorph的构造替换为TextMorph的构造即可。我建议你看看《法罗的例子》一书。它有一章是关于Morphic的,这是Pharo中的UI框架。

yourTextMorph := TextMorph new.
yourTextMorph contents: 'initial text'.
ownerMorph addMorph: yourTextMorph.

我想你也会想从TextMorph中读回内容。您可以使用yourTextMorph contents来实现这一点。参见 Pharo Smalltalk: Reading from TextMorph

相关内容

最新更新