closurelistenertest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 44 行
GROOVY
44 行
import javax.swing.JButton
import java.util.Arrays
/**
* @version $Revision: 2129 $
*/
class ClosureListenerTest extends GroovyTestCase {
void testAddingAndRemovingAClosureListener() {
def value = System.getProperty('java.awt.headless')
println("Value of java.awt.headless = ${value}")
def b = new JButton("foo")
b.actionPerformed = { println("Found ${it}") }
def size = b.actionListeners.size()
assert size == 1
def l = b.actionListeners[0]
def code = l.hashCode()
println("listener: ${l} with hashCode code ${code}")
assert l.toString() != "null"
assert l.equals(b) == false
assert l.equals(l)
assert l.hashCode() != 0
b.removeActionListener(l)
println(b.actionListeners)
size = b.actionListeners.size()
assert size == 0
}
void testGettingAListenerProperty() {
def b = new JButton("foo")
def foo = b.actionPerformed
assert foo == null
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?