在使用Pharo的Smalltalk中,我正在创建一个应用程序,它可以读取用户输入并执行X操作。
到目前为止,我已经成功创建了一个TextMorph,让用户可以输入值,但我不确定如何从TextMorphs中读取值,然后对该值执行某些操作。
有什么想法吗?
谢谢。
到目前为止,我已经成功创建了一个TextMorph,让用户可以输入值,但我不确定如何从TextMorphs中读取值,然后对该值执行某些操作。
有什么想法吗?
谢谢。
你可以简单地向你的morph发送text
并获取其内容。因此,你可以创建一个按钮,在按下按钮时对内容进行操作:
input := TextMorph new.
button :=
SimpleButtonMorph new
target: self
actionSelector: #processTextMorph:;
arguments: {input};
yourself.
processTextMorph: aTextMorph
| contents |
contents := aTextMorph text.
"do something with contents"
也许您想使用对话框?因为您可以执行以下操作:
response := UIManager default request: 'What do you want to do?'.
response ifNotNil: [ "do something with the response" ]
然后执行UIManager default request: '...'
将会打开一个带有文本输入框的对话框。
TextMorph
,而该名称已经是指向具有相同名称的类的全局变量。如果您按照我的示例并将参数命名为aTextMorph
,则一切都应该没问题。还要注意:根据Smalltalk编码约定,您应该以小写字母开头命名实例和临时变量,以大写字母开头的名称用于全局变量。 - Uko