2009-10-22 20 views
1

Salut J'ai une collection ordonnée de chaînes que j'essaie d'afficher sur un widget liste. Je fais ce qui suit:Smalltalk, affichant OrderedCollection to List Widget

self displayWidget list: coll. 

où displayWidget est une liste Widget et coll est le OrderedCollection contenant les chaînes. Il l'affichera, mais il l'affiche sur une seule ligne.

Au lieu d'obtenir

line one 
line two 
line three 

je reçois.

line oneline twoline three 

J'utilise des œuvres visuelles *

Répondre

0

Vous pouvez itérer la collection et envoyer withCRs message aux chaînes .

Voici un exemple simple:

| je |

i: = 0. [i < 5] whileTrue: [Afficher la transcription: 'Hello world.' WithCRs. i: = i +1.

]

méthode withCRs remplacer chaque \ ocurrence pour une nouvelle ligne et portent retour.

J'espère que ça vous aide.

1

intérieur list: vous voulez probablement quelque chose de similaire à

coll do: [:element | Transcript show element; cr] 

Lorsque vous envoyez do: [:e | ...] à une collection, il évalue le bloc une fois pour chaque élément de la collection, chaque fois que l'élément en passant element.
Chaque fois que j'envoie cr à Transcript pour ajouter un retour chariot après chaque élément.