Swing scala事件摇摆:鸡还是蛋

Swing scala事件摇摆:鸡还是蛋,swing,events,scala,Swing,Events,Scala,我如何处理这样一种情况:一个字段监听一个尚未声明的按钮 val detail = new BoxPanel(Orientation.Vertical){ listenTo(button) } val seznam = new BoxPanel(Orientation.Vertical){ val button = new Button("But"){ reactions += { case ButtonClicked(_) =>

我如何处理这样一种情况:一个字段监听一个尚未声明的按钮

  val detail = new BoxPanel(Orientation.Vertical){
    listenTo(button)
  }
  val seznam = new BoxPanel(Orientation.Vertical){
    val button = new Button("But"){
      reactions += {
        case ButtonClicked(_) =>
          detail.contents.clear
          detail.contents += new Label("Anystring")
    }
  }

我也不能先声明
seznam
,因为它引用了字段
detail
。那么我该怎么写呢?

listenTo
是一种公共方法。因此,最简单的方法是按照上面所示创建它们,但在创建按钮后添加
detail.listeno(按钮)

val detail = new BoxPanel(Orientation.Vertical){ }
val seznam:BoxPanel = new BoxPanel(Orientation.Vertical){
  val button = new Button("But"){
    reactions += {
      case ButtonClicked(_) =>
        detail.contents.clear
        detail.contents += new Label("Anystring")
    }
  }
  detail.listenTo(button)
}

尝试将一个或两个字段设置为
lazy val
+1以获得感兴趣的标题:-)我编辑了每个val:
%s/val/lazy val/g
,但仍然得到
未找到
错误