2016-12-15 6 views
0

toggleButton을 클릭 할 때 stateChange 이벤트가 두 번 이상 발생하지 않도록하려면 어떻게해야합니까? 또는 잘못된 이벤트 처리기를 사용하고 있습니까? 매 토글 할 때마다 5 번 호출됩니다.Groovy SwingBuilder ToggleButton StateChange

#!/usr/bin/env groovy 

import groovy.swing.SwingBuilder 

import static javax.swing.JFrame.EXIT_ON_CLOSE 

def swing = new SwingBuilder() 
swing.edt { 
    lookAndFeel 'nimbus' 
    frame(title    : "Throttle", 
      pack     : true, 
      show     : true, 
      defaultCloseOperation: EXIT_ON_CLOSE, 
      id     : "frame") { 
     boxLayout() 
     toggleButton(text: 'fl', 
        selected  : false, 
        rolloverEnabled: false, 
        toolTipText : 'f1', 
        stateChanged : { e -> 
         println e.source 
        }) 
    } 
} 

swing.doLater { frame.size = [128, 320] } 

답변

0

stateChanged에서 actionPerformed로 전환 한 다음 예상대로 작동했습니다. 왜 내가 처음에 stateChanged를 사용했는지 확실하지 않습니다!