JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » JavaFX 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 Re:JavaFX 2.0中的綁定機制 (Binding) [Re:UndeadJ]
UndeadJ

UX & UI Design



發文: 384
積分: 3
於 2011-06-10 00:29 user profilesend a private message to usersend email to UndeadJreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Low-Level Binding API

如果High-Level Binding API不足應付需求的話,可以使用Low-Level Binding API。
相較於High-Level Binding API,Low-Level Binding API有更好的彈性與效能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
import javafx.beans.property.DoubleProperty;
import javafx.beans.binding.DoubleBinding;
 
public class Main {
 
    public static void main(String[] args) {
 
        final DoubleProperty a = new DoubleProperty(1);
        final DoubleProperty b = new DoubleProperty(2);
        final DoubleProperty c = new DoubleProperty(3);
        final DoubleProperty d = new DoubleProperty(4);
 
        DoubleBinding db = new DoubleBinding() { 
            {
                bind(a, b, c, d);               
            }
 
            @Override
            protected double computeValue() {
                return (a.get() * b.get()) + (c.get() * d.get());
            }
        };
        System.out.println("binding is: " + db.isValid());// 無效
        System.out.println(db.get());
        System.out.println("binding is: " + db.isValid());// 有效 
        b.set(3);
        System.out.println("binding is: " + db.isValid());// 無效  
        System.out.println(db.get());
        System.out.println("binding is: " + db.isValid());// 有效
    }
}


使用Low-Level Binding API 時,必須覆寫(Override)computeValue方法,來取得當前所綁定的值。
以這個例子來說,利用super.bind()來綁定所有有相依關係的元素(a,b,c,d),此時綁定是無效的,只有在"被要求的時候",才會生效,也就是所謂的lazy evaluation。
通常來說不用特地的去檢查綁定否失效,這個檢查會由父類別來完成。


reply to postreply to post
我們是懷抱各自的夢想,買了車票的乘客,不過就像列車一定會有終點,人生有時會碰到必須換車的時候...

我們站在名為「今天」的車站,在名為「昨天」的列車下車,轉搭為「明天」的列車

不過,若沒及時搭上的話....
話題樹型展開
人氣 標題 作者 字數 發文時間
2517 JavaFX 2.0中的綁定機制 (Binding) UndeadJ 3951 2011-06-09 22:55
2314 Re:JavaFX 2.0中的綁定機制 (Binding) UndeadJ 2059 2011-06-10 00:29
2309 Re:JavaFX 2.0中的綁定機制 (Binding) UndeadJ 3453 2011-06-10 00:29
2450 Re:JavaFX 2.0中的綁定機制 (Binding) UndeadJ 1455 2011-06-10 00:29
» JWorld@TW »  JavaFX 討論區

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8