views:

87

answers:

1

consider this piece of scala swing code

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

the detail is of FlowPanel type. When the button is clicked, the color is instantly repainted, but the Label is not. It gets visible as I click the area. How can I force the detail to repaint its contents after a click?

+3  A: 

In Java, the answer would normally be to call repaint(). Did you try detail.repaint()?

Rex Kerr
yes, I did, but without result. I also tried revalidate, requestFocus...
coubeatczech
solved by calling repaint but not in detail, but in component 2 levels above it.
coubeatczech
Weird. I'm glad it worked.
Rex Kerr