我的漫漫程序之旅

          專(zhuān)注于JavaWeb開(kāi)發(fā)
          隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          Groovy之旅系列之七(Groovy Swing)

          也許你對(duì)先前的Groovy程序有點(diǎn)煩了,全是控制臺(tái)程序,現(xià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)單了.

          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()) 
          }




          posted on 2008-05-15 15:48 々上善若水々 閱讀(1852) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: Groovy之旅系列之七(Groovy Swing)  回復(fù)  更多評(píng)論   

          cool!!!
          2008-05-16 10:53 | hcom

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 蒙山县| 榆中县| 黄陵县| 鄂伦春自治旗| 哈密市| 桂东县| 吉林市| 平果县| 出国| 泗洪县| 修武县| 安康市| 深泽县| 鄂托克前旗| 台东市| 富锦市| 辉南县| 临漳县| 芷江| 伊宁市| 石阡县| 叙永县| 修武县| 太仆寺旗| 顺平县| 乐山市| 阜宁县| 府谷县| 沂水县| 广昌县| 肥乡县| 阳山县| 屯留县| 台江县| 阳城县| 崇义县| 九龙坡区| 荃湾区| 呼和浩特市| 洛阳市| 黄大仙区|