单击按钮后强制重新绘制

cou*_*ech 6 java events swing scala

考虑一下scala swing代码

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

detail是的FlowPanel类型.单击该按钮时,颜色会立即重新绘制,但事实Label并非如此.当我点击该区域时它会变得可见.如何detail在点击后强制重新绘制其内容?

Rex*_*err 5

在Java中,答案通常是调用repaint().你试过detail.repaint()吗?

  • 通过调用重绘而不是详细解决,但在它上面的组件2级别解决. (2认同)