Groovy SwingBuilder ToggleButton StateChange

时间:2016-12-15 05:54:43

标签: groovy togglebutton swingbuilder

是否有任何方法可以避免在单击toggleButton时多次触发stateChange事件?或者我使用错误的事件处理程序?每次切换都会调用5次。

#!/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] }

1 个答案:

答案 0 :(得分:0)

我从stateChanged切换到actionPerformed然后它按照我的预期工作。不知道为什么我首先使用stateChanged!