<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    First they ignore you
    then they ridicule you
    then they fight you
    then you win
        -- Mahatma Gandhi
    Chinese => English     英文 => 中文             
    隨筆-221  評論-1047  文章-0  trackbacks-0
    在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 & Grails
    posted on 2008-05-03 16:35 山風小子 閱讀(2734) 評論(3)  編輯  收藏 所屬分類: Groovy & Grails
    主站蜘蛛池模板: 97在线免费视频| 亚洲色图激情文学| 精品久久久久久亚洲| 日韩亚洲精品福利| 免费成人午夜视频| 四虎永久免费影院在线| 日韩成全视频观看免费观看高清| 日韩欧美一区二区三区免费观看 | 久久精品国产亚洲av水果派| 国产亚洲精AA在线观看SEE| 亚洲国产精品无码久久久蜜芽 | 18禁免费无码无遮挡不卡网站| 久久国产色AV免费观看| 69视频在线观看免费| 日本成年免费网站| 歪歪漫画在线观看官网免费阅读| 成人黄页网站免费观看大全| 四虎成人免费观看在线网址| 国产成人免费全部网站| 国产精品亚洲mnbav网站| 曰韩亚洲av人人夜夜澡人人爽| 亚洲AV无码国产精品麻豆天美| 亚洲精品在线免费观看| 亚洲综合一区无码精品| 美女扒开屁股让男人桶爽免费| 一区二区在线视频免费观看| 鲁丝片一区二区三区免费| 亚洲w码欧洲s码免费| 青青草国产免费久久久91| 亚洲午夜av影院| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产成人高清精品免费观看| 99免费在线视频| 免费在线观看h片| 国产精品久久香蕉免费播放| MM131亚洲国产美女久久| 久久av无码专区亚洲av桃花岛| 亚洲中文字幕一二三四区苍井空| 黄页网站在线免费观看| 久久精品乱子伦免费| 女人张开腿给人桶免费视频|