Scala Event Swing :: курица или яйцо - PullRequest
5 голосов
/ 22 марта 2010

как мне справиться с ситуацией, когда в поле слушаются кнопки, которые еще не объявлены?

  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 Ответ

3 голосов
/ 22 марта 2010

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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...