Hi Johann, just after you left IRC, I figured out an easy (though perhaps not the best) way to do what you want:
a := SimpleButtonMorph new openInWorld. a actWhen: #buttonDown. "turns off visible button behavior" a label: 'new label'. "lets you change the label to a different string of text" a clipSubmorphs: true. "true means that your text doesn't extend beyond the border of the button"
Hope this helps.
Lawson (saijanai_ on irc)
On 2/8/12 6:51 AM, Johann Hibschman wrote:
How can I center text in morphic? I have a RectangleMorph subclass representing a "tile." I'd like to display a centered string label within the morph.
My current approach is to just override #drawOn: with:
TileMorph>>drawOn: aCanvas super drawOn: aCanvas. aCanvas drawString: 'hi' on: self innerBounds
However, that just always puts the text in the upper-left corner. (Code is from memory, so I may have got something wrong.)
By "center", I want the baseline-to-max-ascent for the font to be centered vertically (not the actual height of whatever characters I have), while the actual width is centered vertically.
Would it be better to use a StringMorph for placing text like this? I'm afraid I don't yet understand what layout options I'd need to use to make it work.
Thanks,
- Johann
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners