首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员
您的位置:Java->Groovy高效编程——@Bindable的使用

Groovy高效编程——@Bindable的使用2008-05-06 来自:villa123  [收藏到我的网摘]

在Groovy 1.6.0 BETA 1中引入了@Bindable这一新的Annotation,该Annotation在Swing编程中使用起来尤为方便,下面给出一个实例供大家参考。其内部的实现原理应该是基于Observer模式的。

点击‘update’按钮,随机更新label的值。请注意,我们仅仅设置了myBean的属性prop的值,未对label进行任何的显式操作(比如setText)

import groovy.beans.Bindable
import groovy.swing.*
import javax.swing.*
import java.awt.*

class MyBean {
@Bindable
String prop
}

def rand = new Random()
def greetings = ['hello, world', 'hello, Groovy', 'hello, 山风小子']
def myBean = new MyBean(prop:greetings[2])
def swing = new SwingBuilder()
def frame = swing.frame(title:'Bindable Demo', location: [100, 100], size:[300, 100]) {
panel(layout: new GridLayout(1, 2)) {
label(text:bind(source:myBean, sourceProperty:'prop'))
button(action(name:'update', closure: {myBean.prop = greetings[rand.nextInt(3)]}))
}
}

frame.setVisible(true)

推荐人评论

在Groovy 1.6.0 BETA 1中引入了@Bindable这一新的Annotation,该Annotation在Swing编程中使用起来尤为方便,下面给出一个实例供大家参考。其内部的实现原理应该是基于Observer模式的。

用户评论

正在载入评论列表...

是谁推荐了此篇文章

专家头像陈丽辉CSDN频道编辑,联系方式chenlh@csdn.net
个人blog发送信息
陈丽辉推荐的其他文章

赞助商精华文章

热点新闻

热点评论

    精彩视频

    精彩专题

    资源下载

      网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京世纪乐知数码科技有限公司  版权所有  京 ICP 证 020026 号
    Copyright © 2000-2006, CSDN.NET, All Rights Reserved