如何在groovy swingbuilder面板中获取所有组件名称?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在groovy swingbuilder面板中获取所有组件名称?相关的知识,希望对你有一定的参考价值。
我在单击groovy面板中的按钮时尝试获取所有组件名称
但我的命令没有得到所有组件;我怎么能纠正这个代码
常规
我不知道如何得到所有
请帮我解决这个问题;
我使用getcomponent()命令,但没有得到我的面板的所有组件
我需要获得组件日期和dat3e
import groovy.swing.SwingBuilder
import groovy.beans.Bindable
import static javax.swing.JFrame.EXIT_ON_CLOSE
import java.awt.*
import groovy.transform.Field
def swingBuilder = new SwingBuilder()
swingBuilder.edt {
frame(title: 'Address', id:"allx" ,size: [350, 230],
show: true, locationRelativeTo: null,
defaultCloseOperation: EXIT_ON_CLOSE) {
borderLayout(vgap: 5)
panel(constraints: BorderLayout.CENTER, id:"allx2" ,
border: compoundBorder([emptyBorder(10), titledBorder('Enter your address:')])) {
tableLayout {
tr{ textField id:"allx3"
td { textField id:"date",text="01-01-18", columns: 10 }
}
tr{
td { textField id:"dat3e",text="01-01-18", columns: 10 }
}
}
}
panel(constraints: BorderLayout.SOUTH) {
button text: 'Save', actionPerformed: {
Component[] components = allx2.getComponents();
println components
for (int i = 0; i < components.length; i++) {
if(components[i].getClass().getName().toString().equals("javax.swing.JTextField")){
components[i].setEnabled(false);
println components[i]
}
}
}
}
}
}
答案
我解决了这个问题
import groovy.swing.SwingBuilder
import groovy.beans.Bindable
import static javax.swing.JFrame.EXIT_ON_CLOSE
import java.awt.*
import groovy.transform.Field
def swingBuilder = new SwingBuilder()
swingBuilder.edt {
frame(title: 'Address', id:"allx" ,size: [350, 230],
show: true, locationRelativeTo: null,
defaultCloseOperation: EXIT_ON_CLOSE) {
borderLayout(vgap: 5)
panel(constraints: BorderLayout.CENTER, id:"allx2" ,
border: compoundBorder([emptyBorder(10), titledBorder('Enter your address:')])) {
tableLayout( id:"allxgg") {
tr{
td { textField id:"date",text="01-01-18", columns: 10 }
}
tr{
td { textField id:"dat3e",text="01-01-18", columns: 10 }
}
tr{
td { textField id:"dateg",text="01-01-18", columns: 10 }
}
tr{
td { textField id:"dat3eg",text="01-01-18", columns: 10 }
}
}
}
panel(constraints: BorderLayout.SOUTH) {
button text: 'Save', actionPerformed: {
Component[] components = allxgg.getComponents();
println components.size()
println components[3].getText()
}
}
}
}
以上是关于如何在groovy swingbuilder面板中获取所有组件名称?的主要内容,如果未能解决你的问题,请参考以下文章
GroovyJsonXmlSwing 生成器 ( Json 生成器 JsonBuilder | Xml 生成器 MarkupBuilder | Swing 生成器 SwingBuilder)