Come modificare attivamente la stringa di una etichetta in Visualworks SmallTalk
-
15-09-2020 - |
Domanda
Sto cercando di modificare dinamicamente il valore di un'etichetta in un applicationModel dinamicamente durante la gestione del mio programma. Ho provato:
(self builder labelAt: #Label4) labelString: 'Dynamic text here'.
.
Ma ottieni un errore di labelstring non compreso. Quando corro:
(self builder labelAt:#Label4)
.
Io ottengo "undefinedObject".Che ovviamente suggerisce che non sto restituendo il mio oggetto etichetta.
Soluzione
Prova
(self builder componentAt: #Label4) widget labelString: 'whatever'
.
o
(self widgetAt: #Label4) labelString: 'whatever'
. Altri suggerimenti
Se hai un modello per il tuo valore mutevole è piuttosto facile da usare inputfield di sola lettura rilegato al tuo modello.Dare dire che avere un modello per un valore che cambia è generalmente una buona idea.
Se si definisce Inputfield come sola lettura e con un bordo, sembrerà esattamente come un'etichetta di testo normale.Dal punto di vista dell'utente l'unica differenza è in grado di selezionare e copiare il testo dal campo di input di sola lettura, che è utile in molti casi.
D'altra parte, le etichette possono avere un aspetto molto più ricco.Puoi usare il testo, il testo composto o l'immagine per loro.