2010-03-22 14 views
5

Bir durumun, henüz bildirilmemiş bir düğmeyi dinlediği bir durumu nasıl ele alabilirim? o alanı detail başvuru çünküscala event swing :: tavuk veya yumurta

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

Ben de ilk seznam beyan edemez. Peki bunu nasıl yazabilirim?

+2

birini veya her iki alanı bir 'tembel val' yapmayı deneyin. – retronym

+0

+1 ilginç bir başlık için :-) – missingfaktor

+1

her val: '% s/val/tembel val/g' düzenlenmiş ve hala "bulunamadı" hatası alıyorum – coubeatczech

cevap

3

listenTo, genel bir yöntemdir. kolay şey bu nedenle, yukarıda gösterilen ettik onları yaratmaktır yapmak, ancak düğmesini oluşturduktan sonra detail.listenTo(button) eklemek için:

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