WEB开发网
开发学院软件开发Java 实战 Groovy: SwingBuilder 和 Twitter API,第 1... 阅读

实战 Groovy: SwingBuilder 和 Twitter API,第 1 部分:构建基于 Swing 的 GUI 从未如此简便

 2009-11-18 00:00:00 来源:WEB开发网   
核心提示: 编译这段代码 (javac HelloJavaSwing.java) 并运行它 (java HelloJava),应该会显示图 1 所示的应用程序: 图 1. HelloJavaSwing清单 9 给出用 Groovy 编写的同一个应用程序,实战 Groovy: SwingBuilder 和 T

编译这段代码 (javac HelloJavaSwing.java) 并运行它 (java HelloJava),应该会显示图 1 所示的应用程序:


图 1. HelloJavaSwing
实战 Groovy: SwingBuilder 和 Twitter API,第 1 部分:构建基于 Swing 的 GUI 从未如此简便

清单 9 给出用 Groovy 编写的同一个应用程序。可以看到 SwingBuilder 使用了闭包,这让我们可以清晰地看出拥有关系链。


清单 9. HelloGroovySwing.groovy
import groovy.swing.SwingBuilder 
import javax.swing.* 
 
def swingBuilder = new SwingBuilder() 
swingBuilder.frame(title:"Hello Groovy Swing", 
          defaultCloseOperation:JFrame.EXIT_ON_CLOSE, 
          size:[200,300], 
          show:true) { 
 panel(){ 
  label("Hello Groovy Swing")   
 } 
} 

输入 groovy HelloGroovySwing 会看到图 2 所示的应用程序:


图 2. HelloGroovySwing
实战 Groovy: SwingBuilder 和 Twitter API,第 1 部分:构建基于 Swing 的 GUI 从未如此简便

注意,在 清单 9 中,所有组件名去掉了开头的 J,方法名中也去掉了多余的 get 和 set。接下来,注意 frame 的命名参数构造器。在幕后,Groovy 调用无参数构造器,然后调用设置器方法,这与前面的 Java 示例没有区别。但是,设置器方法都集中在构造器中,代码更简洁了,去掉 set 前缀和末尾的圆括号也大大减少了视觉干扰。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:实战 Groovy SwingBuilder

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接