如何在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面板中获取所有组件名称?的主要内容,如果未能解决你的问题,请参考以下文章

Groovy12_Jsonxmlswing与生成器

Groovy12_Jsonxmlswing与生成器

GroovyJsonXmlSwing 生成器 ( Json 生成器 JsonBuilder | Xml 生成器 MarkupBuilder | Swing 生成器 SwingBuilder)

groovy 在eclipse中如何实现语法提示

蚂蚁如何在groovy中使用

如何在 groovy 线程中使用会话