2010-03-22 9 views
6

considerare questo pezzo di Scala codice di oscillazioneForza riverniciare dopo scatto del tasto

detail.reactions += { 
    case ButtonClicked(but) => 
    detail.contents += new Label(but.text) 
    detail.background = new java.awt.Color(0,255,0) 
} 

la detail è di FlowPanel tipo. Quando si fa clic sul pulsante, il colore viene immediatamente ridipinto, ma non lo è il Label. Diventa visibile mentre clicco sull'area. Come posso forzare lo detail a ridisegnare il suo contenuto dopo un clic?

risposta

5

In Java, la risposta sarebbe normalmente chiamare repaint(). Hai provato detail.repaint()?

+0

sì, l'ho fatto, ma senza risultato. Ho anche provato la convalida, requestFocus ... – coubeatczech

+2

risolto chiamando il repaint ma non nel dettaglio, ma nei livelli del componente 2 sopra di esso. – coubeatczech

+0

Strano. Sono contento che abbia funzionato. –

Problemi correlati