Вот фрагмент с флажком, который переключает другой флажок, когда выбран или не выбран.
import javax.swing.*
import groovy.beans.Bindable
import groovy.swing.SwingBuilder
new SwingBuilder().edt {
frame(title: 'Frame', pack: true, show: true) {
panel(id:'eventPanel',border:BorderFactory.createEmptyBorder(10,10,10,10)){
check = checkBox(text: 'Toggle the other checkbox!')
label(text: bind( source:check, sourceProperty: 'selected',converter:{v->v ? "Selected!" : "Not Selected!==>"}))
check = checkBox(text: 'Toggle enabled!',selected: bind(target:check,targetProperty:'selected'))
}
}
}
Хотелось бы узнать, есть ли способ в свингбилдере связать объект с несколькими целями?
Т.е. вместо нацеливания одного атрибута из одного флажка:
checkBox(text: 'Toggle enabled!',selected: bind(target:checkbox1,targetProperty:'selected'))
Можем ли мы нацелить один атрибут (один и тот же) из группы флажков?
Если у меня есть карта, которая содержит несколько объектов-флажков, могу ли я сделать
что-то подобное?
def array = ['ckb1','ckb2','ckb3']
checkbox(
selected:bind(target: map.each{checkboxes [it]},targetProperty:'selected'))
с 'флажками' карты, ключи которой равны строке, содержащейся в 'массиве'.
С уважением,