<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
    主站蜘蛛池模板: 1000部拍拍拍18免费网站| a毛片在线免费观看| 成人免费在线观看网站| 亚洲一欧洲中文字幕在线| 免费在线看v网址| 亚洲中文字幕一二三四区苍井空| 色老头永久免费网站| 亚洲精品成人网站在线播放| 69国产精品视频免费| 亚洲成人网在线观看| 成人爽A毛片免费看| 亚洲av乱码一区二区三区按摩| 夜色阁亚洲一区二区三区 | 亚洲人成在线播放| 免费H网站在线观看的| 亚洲人成电影网站色www| 国产免费人成视频在线观看| 女人裸身j部免费视频无遮挡| 亚洲色欲色欲www在线丝| 久久久久久免费一区二区三区 | 亚洲欧洲自拍拍偷精品 美利坚| 一区二区三区免费高清视频| 欧洲亚洲国产清在高| 永久黄色免费网站| 亚洲精品女同中文字幕| 国产精品亚洲mnbav网站| 高清一区二区三区免费视频| 亚洲国产精品成人精品小说 | 亚洲精品制服丝袜四区| 91香焦国产线观看看免费| 亚洲人成人网毛片在线播放| 亚洲成A人片77777国产| 99视频在线看观免费| 亚洲成熟丰满熟妇高潮XXXXX | 久久亚洲国产成人精品性色| 中文字幕无码免费久久99| 一区二区三区免费视频观看| 精品日韩亚洲AV无码 | 亚洲色大成网站WWW久久九九| 成人免费在线看片| 美女扒开尿口给男人爽免费视频|