Gregory Moltchadski created GROOVY-11876:
--------------------------------------------
Summary: SwingBuilder closure bind: typed vs untyped (def) property
Key: GROOVY-11876
URL: https://issues.apache.org/jira/browse/GROOVY-11876
Project: Groovy
Issue Type: Bug
Components: Swing
Affects Versions: 5.0.4
Reporter: Gregory Moltchadski
SwingBuilder's closure bind works fine with untyped local properties (declared
with "def"), but doesn't with typed ones, see attached piece of code. Note that
in Groovy 4, both cases didn't work at all.
{code:java}
import groovy.beans.Bindable
import groovy.swing.SwingBuilder
class Main
{
@Bindable static class Bean
{
String foo = 'bar'
}
static def bean1 = new Bean()
static Bean bean2 = new Bean()
static void main(String[] args)
{
new SwingBuilder().edt {
label1 = label(text: bind { bean1.foo })
label2 = label(text: bind { bean2.foo })
assert label1.text == 'bar'
bean1.foo = 'baz'
assert label1.text == 'baz'
assert label2.text == 'bar'
bean2.foo = 'baz'
assert label2.text == 'baz' // Boom!
}
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)