Groovy 格里芬布尔赋值错误?

Groovy 格里芬布尔赋值错误?,groovy,griffon,Groovy,Griffon,我有以下代码 在模型中 @Bindable boolean readOnly 在视图中 checkBox(text: 'Read Only', constraints:'wrap',selected:bind(target: model, targetProperty:'readOnly')) 在控制器中 new groovy.swing.SwingBuilder().frame(title:'File opened',pack:true,show:true){ panel(layout

我有以下代码

在模型中

@Bindable boolean readOnly
在视图中

checkBox(text: 'Read Only', constraints:'wrap',selected:bind(target: model, targetProperty:'readOnly'))
在控制器中

new groovy.swing.SwingBuilder().frame(title:'File opened',pack:true,show:true){
  panel(layout: new MigLayout('fill'), border: titledBorder('Content')){
    separator(constraints:"cell 0 1")
    textArea(text: part1 , editable: false)
    separator(constraints:"cell 0 2")
    textArea(text: part2 , editable: false)
    separator(constraints:"cell 0 1")
    t1 = textArea(text: part3 , editable: "${model.readOnly}",columns:50)
    separator(constraints:"cell 0 2")
    t2 = textArea(text: part4 , editable: "${model.readOnly}")
    separator(constraints:"cell 0 3")
    button('Save!', actionPerformed: save, constraints: 'span 5, bottom, right')
  }
}
但它始终处于启用状态,无论是否选中复选框都无关紧要

system.out.println("${model.readOnly}")
正确显示
true
false
,但由于某些原因,在帧上它总是设置为
true

注意:同时赋值
boolean a=“${model.readOnly}”
将始终设置为true,或
如果“${model.readOnly}”==true
如果(“${model.readOnly}”)
将始终
设置为true

哦,还有在框架中设置大小,例如

new groovy.swing.SwingBuilder().frame(title:'File opened',pack:true,show:true, size : [640,480]){
(a)文本区域需要绑定,而不仅仅是设置。写入时,它将只读取一次值

t1 = textArea(text: part3 , editable: bind (source: model, sourceProperty:'readOnly') ,columns:50)
(b) 还有一件事,组合包装辅助尺寸通常不起作用。每当您声明大小时,从声明中删除
pack:true