posts - 48,comments - 156,trackbacks - 0

          想一下在 Java 中,我們如何用觀察者模式來讓視圖反映模型的變化的?觀察者,被觀察者,注冊監聽器,事件,回調,獲取數據,等等是不是很麻煩?

          有了綁定,我們可以直接將觀察者的某個屬性和被觀察者的某個屬性綁到一塊,同步變化,省了中間很多步驟,下面的例子,我將一個圓的透明度和一個文本的值與一個滑塊的值綁定到一塊。看看在瀏覽器里運行時什么效果(注意:需要 Java 插件,否則看不到效果)(下載到本機):


          //一個滑塊
          var
          slider = SwingSlider {

              minimum: 0
              maximum: 100
              value: 80
              vertical: false

          };

          //主窗體
          Stage {
              title: "MyApp"
              scene: Scene {
                  width: 200
                  height: 200
                  content: [
                      VBox{
                          spacing: 10
                          content: [

                              //加入滑塊
                              slider,

                              //加入一個圓
                              Circle {
                                  centerX: 100
                                  centerY: 50
                                  radius: 40
                                  fill: Color.RED
                                  //將透明度和滑塊的值綁定
                                  opacity: bind {
                                      slider.value / 100.0
                                  }
                              },

                              //加入一個文本
                              Text {
                                  font: Font {
                                      size: 24
                                  }
                                  x: 10,
                                  y: 30
                                 // 將文本內容和滑塊的值綁定
                                  content: bind "{slider.value}"
                              }
                          ]
                      }
                  ]

             
          };



          bind 不但可以綁定到變量,還可以綁定到表達式,函數等等,還可以雙向綁定。


          至于觸發器,個人感覺類似于一個 Setter ,在你給一個變量賦值的時候,同時做一些額外的事情,因為你用一個字面量的方式創建一個對象的時候,不可能去調用任何函數,設置這個語言特性可能更多的是考慮這一點吧。

          了解更多:

          邊蓬的 JFX 入門

          官方教程

          官方 GUI 教程

          語言參考

          posted on 2009-03-11 23:24 左洸 閱讀(1643) 評論(1)  編輯  收藏 所屬分類: JavaFX 深入淺出

          FeedBack:
          # re: JavaFX 深入淺出(六)綁定和觸發器
          2009-03-12 12:47 | Kurt
          那個有點像某國國旗……  回復  更多評論
            
          主站蜘蛛池模板: 饶平县| 黑河市| 鹿邑县| 上虞市| 合山市| 东兰县| 封开县| 光泽县| 中宁县| 黄石市| 辉县市| 文水县| 班玛县| 汨罗市| 射阳县| 万源市| 黄浦区| 汕尾市| 读书| 仙游县| 冷水江市| 莱西市| 随州市| 琼结县| 二连浩特市| 台中市| 交城县| 青浦区| 广德县| 陈巴尔虎旗| 西峡县| 瓦房店市| 衡山县| 武山县| 日喀则市| 色达县| 栖霞市| 平罗县| 湟中县| 灌阳县| 明光市|