如何在groovy中将字符串转换为变量以用作groovy swingbuilder变量?

时间:2018-03-01 22:49:53

标签: swing variables groovy

我需要使用像这样的groovy swingbuilder变种

date.text 此变量从swing中的框中获取文本

但我需要从字符串" date; name"

调用此变量

例如" date; name" .split(";")[0]

并使用它来获取文本,但这是字符串不变量我需要转换为变量请帮助我

这是我的代码

import groovy.swing.SwingBuilder 
import groovy.beans.Bindable 
import static javax.swing.JFrame.EXIT_ON_CLOSE 
import java.awt.*
    def swingBuilder = new SwingBuilder()
    swingBuilder.edt {  
        frame(title: 'Address', size: [350, 230],
                show: true, locationRelativeTo: null,
                defaultCloseOperation: EXIT_ON_CLOSE) {
            borderLayout(vgap: 5)

            panel(constraints: BorderLayout.CENTER,
                    border: compoundBorder([emptyBorder(10), titledBorder('Enter your address:')])) {
                tableLayout {
    tr{

      td {       textField  id:"date",text="01-01-18", columns: 10     } 
    }
    }

     }

       } 
    }

请帮帮我

更新

import groovy.swing.SwingBuilder 
import groovy.beans.Bindable 
import static javax.swing.JFrame.EXIT_ON_CLOSE 
import java.awt.*



    def swingBuilder = new SwingBuilder()
    swingBuilder.edt {  
        frame(title: 'Address', size: [350, 230],
                show: true, locationRelativeTo: null,
                defaultCloseOperation: EXIT_ON_CLOSE) {
            borderLayout(vgap: 5)

            panel(constraints: BorderLayout.CENTER,
                    border: compoundBorder([emptyBorder(10), titledBorder('Enter your address:')])) {
                tableLayout {
    tr{

      td {       textField  id:"date",text="01-01-18", columns: 10     } 
    }
    }

     }

   panel(constraints: BorderLayout.SOUTH) {
            button text: 'Save', actionPerformed: {
zg="date.text"
println Eval.me(zg)
            }
        }



       } 
    }

我使用此代码而无效

1 个答案:

答案 0 :(得分:1)

您可以在

中传递委托

取代:

println Eval.me(zg)

println Eval.x(delegate, "x.$zg")

但我不确定你为什么要这样做