Groovy之旅系列之七(Groovy Swing)
也許你對(duì)先前的Groovy程序有點(diǎn)煩了,全是控制臺(tái)程序,現(xiàn)在我們
來(lái)體驗(yàn)一下它的界面程序吧.
來(lái)體驗(yàn)一下它的界面程序吧.
package com
import groovy.swing.SwingBuilder
import java.awt.BorderLayout
//聲明一個(gè)SwingBuilder
def swing = new SwingBuilder()
//計(jì)數(shù)器
count = 0
//聲明一個(gè)label
def textlabel
//聲明一個(gè)frame
def frame =
swing.frame(title:'計(jì)數(shù)器', size:[300,300])
{
borderLayout()
textlabel = label(text:"您還未點(diǎn)擊,Come on!",
constraints: BorderLayout.NORTH)
button(text:'Click Me',
actionPerformed: {count++; textlabel.text = "您已經(jīng)點(diǎn)擊了${count}次."; println "clicked"},
constraints:BorderLayout.SOUTH)
}
//控件自適應(yīng)窗口大小
frame.pack()
//顯示
frame.show()
再來(lái)一個(gè),自己運(yùn)行一下就知道,用groovy寫(xiě)Swing程序是多么簡(jiǎn)單了.import groovy.swing.SwingBuilder
import java.awt.BorderLayout
//聲明一個(gè)SwingBuilder
def swing = new SwingBuilder()
//計(jì)數(shù)器
count = 0
//聲明一個(gè)label
def textlabel
//聲明一個(gè)frame
def frame =
swing.frame(title:'計(jì)數(shù)器', size:[300,300])
{
borderLayout()
textlabel = label(text:"您還未點(diǎn)擊,Come on!",
constraints: BorderLayout.NORTH)
button(text:'Click Me',
actionPerformed: {count++; textlabel.text = "您已經(jīng)點(diǎn)擊了${count}次."; println "clicked"},
constraints:BorderLayout.SOUTH)
}
//控件自適應(yīng)窗口大小
frame.pack()
//顯示
frame.show()
package com
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.*
def swing = new SwingBuilder()
//聲明一個(gè)共用的Panel
def sharedPanel =
{
swing.panel() {
label("共享Panel")
}
}
count = 0
def textlabel
def frame =
swing.frame(title:'共享Panel救命', size:[300,300], defaultCloseOperation:JFrame.EXIT_ON_CLOSE, pack:true,
show:true) {
boxLayout(axis:BoxLayout.Y_AXIS)
textlabel = label(text:"點(diǎn)擊了${count}次.",
constraints: BorderLayout.NORTH)
button(text:'點(diǎn)擊我',
actionPerformed: {count++; textlabel.text = "點(diǎn)擊了${count}次"; println "clicked"},
constraints:BorderLayout.SOUTH)
widget(sharedPanel())
widget(sharedPanel())
}
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.*
def swing = new SwingBuilder()
//聲明一個(gè)共用的Panel
def sharedPanel =
{
swing.panel() {
label("共享Panel")
}
}
count = 0
def textlabel
def frame =
swing.frame(title:'共享Panel救命', size:[300,300], defaultCloseOperation:JFrame.EXIT_ON_CLOSE, pack:true,
show:true) {
boxLayout(axis:BoxLayout.Y_AXIS)
textlabel = label(text:"點(diǎn)擊了${count}次.",
constraints: BorderLayout.NORTH)
button(text:'點(diǎn)擊我',
actionPerformed: {count++; textlabel.text = "點(diǎn)擊了${count}次"; println "clicked"},
constraints:BorderLayout.SOUTH)
widget(sharedPanel())
widget(sharedPanel())
}
posted on 2008-05-15 15:48 々上善若水々 閱讀(1852) 評(píng)論(1) 編輯 收藏