scala event swing ::鸡肉或鸡蛋

时间:2010-03-22 12:44:34

标签: 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(_) =>
          detail.contents.clear
          detail.contents += new Label("Anystring")
    }
  }

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

1 个答案:

答案 0 :(得分:3)

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

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)
}