def frame = swing.frame(defaultCloseOperation: WC.EXIT_ON_CLOSE) {
button('OK', actionPerformed: click)
}
You can pass a closure to the frame method.
I really like this way. It allows you to create your GUI in a more declarative way.
As was suggested by Martin C. Martin and Dierk Koenig (many thanks!) on the Groovy-user list, the code might look something like the following:
import javax.swing.WindowConstants as WC
click = { event ->
event.source.text = "Pressed!"
}
def swing = new groovy.swing.SwingBuilder()
def frame = swing.frame(
size: [200, 200],
defaultCloseOperation: WC.EXIT_ON_CLOSE,
title: 'Hello' ) {
button('OK', actionPerformed: click)
}
frame.show()