Java 单击按钮后强制重新绘制

Java 单击按钮后强制重新绘制,java,swing,events,scala,Java,Swing,Events,Scala,考虑这段scala swing代码 detail.reactions += { case ButtonClicked(but) => detail.contents += new Label(but.text) detail.background = new java.awt.Color(0,255,0) } 细节属于流程面板类型。 单击按钮时,会立即重新绘制颜色,但不会重新绘制标签。当我单击该区域时,它变得可见。如何强制细节在单击后重新绘制其内容?在Java中,答

考虑这段scala swing代码

detail.reactions += {
  case ButtonClicked(but) =>
    detail.contents += new Label(but.text)
    detail.background = new java.awt.Color(0,255,0)
}
细节
属于
流程面板
类型。
单击按钮时,会立即重新绘制颜色,但不会重新绘制标签。当我单击该区域时,它变得可见。如何强制
细节
在单击后重新绘制其内容?

在Java中,答案通常是调用
repaint()
。您是否尝试了
detail.repain()

通过调用repaint来解决,但不是在detail中,而是在它上面的组件2级别中。