2010-05-27 35 views
2

JFace Databinding不支持泛型,因此它不是特別類型安全的。顯然它永遠不會,因爲他們希望保留Java 1.3的支持。支持泛型和SWT/JFace的數據綁定庫?

JGoodies自2.0.0起支持泛型。有沒有人將JGoodies 2移植到SWT/JFace?還是有另一個圖書館允許這兩個?

+1

另一個相關的問題:我最近需要和版本org.eclipse.core.databinding.property的.observable與仿製藥,所以我加了他們。在那裏可用:https://github.com/jppellet/org.eclipse.core.databinding.property和https://github.com/jppellet/org.eclipse.core.databinding.observable – 2012-02-21 12:47:00

回答

0

不幸的是,JFace綁定框架是無類型的,這就是爲什麼我不使用它。

假設'person'是一個帶有getName()方法的pojo。

bindingContext.bindValue(SWTObservables.observeText(name, SWT.Modify), PojoObservables.observeValue(person, "name")); 

如果你改變了getName()方法,以getEntireName(),編譯器不會趕上你任何東西 - 你會得到一個運行時異常。

我在我的模型和JFace之間使用了一個控制器,並以這種方式處理它。我不願意放棄打字。

+0

你觀察到的是一個JavaBeans規範本身的弱點。在Java引入不動產支持之前,POJO和JavaBeans將會受到這個重構問題的困擾。這可能永遠不會發生。 – qualidafial 2010-12-09 22:37:47

2

JFace Databinding不支持泛型,所以它不是特別類型安全的。顯然它永遠不會,因爲他們希望保留Java 1.3的支持。

只是想提供說明。展望未來,我們將針對Java 5並計劃重新使用API​​來使用泛型。

Stay tuned

- 馬修(項目提交者)

+0

現在這是個好消息! – 2010-12-10 06:47:18

+0

發生這種情況的可能性有多大? – Eugene 2013-06-20 23:36:23

+0

不幸的是,我在Eclipse數據綁定方面的工作已經下降了。在這個時候,我不能說什麼時候,甚至是否會再次積極參與。 – qualidafial 2013-07-03 15:39:15