我正在使用 Groovy Swingbuilder,并且我想在构建初始面板后动态填充单选按钮 - 按钮组。示例:我有一个有几个选项的面板。根据选择的选项,我需要用一组单选按钮填充按钮组。每个选项的单选选项都不同。
我的面板看起来像这样:
panel(id:"chooseClass", visible:true, layout: new BL()){
             vbox(constraints: BL.CENTER){
                 label("Player Statistics", horizontalAlignment: 0)
                 label(id: 'raceLabel', text: raceLabelText, horizontalAlignment: 0)
                 label(id: 'statLabel', text: statLabelText, horizontalAlignment: 0)
                 panel(id:'classGroupPanel', layout: new GridLayout(1,9)){
                    myButtonGroup = buttonGroup(id:'classGroup')
                 }
             }
         }
然后稍后在我的代码中我有这个方法:
def void setClassGroup(){
    def classButtons = plyGen.getAvailibleClass()
    // this is one way I've tried it
            gPane.edt{panel(id:'classGroupPanel', layout: new GridLayout(1,9)){
        buttonGroup(id:'classGroup').with{ group ->
            classButtonGroup.each{ radioButton(id: '${it.name}', CreateRadio("${it.name}"), mnemonic:"${it.mnenomic}", buttonGroup: group)}}
     }
    }
            // and this is another way I've tried it
    gPane.doOutside {
        this.classGroupPanel{ 
        buttonGroup(id:'classGroup').with{group ->
            classButtons.each{ gPane.radioButton(id: '${it.name}', CreateRadio("${it.name}"), mnemonic:"${it.mnenomic}", buttonGroup: myButtonGroup) }
            }   
        }
    }               
}
这两种尝试都编译并运行没有错误,但我没有得到单选按钮列表。我希望有更多关于 swingbuilder 的文档。