2011-04-08 47 views
1

我花費大量時間來定位Vaadin組件,並想知道在開發自己的Vaadin應用程序時,其他人的經驗是什麼時候佈局它們的GUI。無法準確定位Vaadin組件

回答

4

關於CSS定位:

我的經驗/知識作爲前Vaadin核心開發人員,目前Vaadin應用設計/開發人員,你不應該使用CSS觸及部件的定位,除非您使用CssLayout或CustomLayout。

在這些佈局中,您幾乎可以做任何CSS允許的事情(Vaadin會爲包含的組件添加一些內聯大小,請注意您),但對於其他核心佈局,我建議您不要嘗試使用任何花哨的技巧你知道佈局系統的內部工作情況:)

對於核心佈局的選項,請參閱DashLayout和WeeLayout附加組件,它們提供了CSS樣式方面的一些額外自由度。

但是,如果您正在使用Java API定位組件,那麼請澄清一下您在哪裏花費大量時間。

+0

我修改CSS的一個問題是它似乎是Vaadin的一部分,可能會隨着Vaadin 7和更高版本發生變化。或者Vaadin 7中的CSS佈局保持不變? – Zubair 2011-04-14 08:08:58

+1

如果我有意願,Vaadin 7中的CSS部分肯定會發生變化:) 您可以閱讀我在此計劃的一些想法:http://dev.vaadin.com/wiki/Vaadin7/Proposals/ ThemingImprovements – Jouni 2011-04-15 12:19:00

+0

好的,謝謝,很好閱讀:) – Zubair 2011-04-15 18:44:09

1

來自桌面世界AbsoluteLayout使用像素位置和大小已證明是非常直接的方式來做組件佈局。

這是一個在純Java版式和強大的web風格版式機制之間有點折衷,你可以用CssLayoutCustomLayout得到,但是你應該通過巧妙地混合這些機制來實現它。

+0

雖然AbsoluteLayout在處理不同的瀏覽器大小時如何提供幫助? – Zubair 2011-04-14 08:08:07

1

我只使用CSS風格的背景部分組件或面板...
我的應用程序的主要佈局通常看起來像AddressBook演示,有時看起來像iTunes。 (使用一些分割面板,擴展比例或網格佈局)
而且我使用了很多窗口(幾乎每次都使用呼叫中心())。
我曾經擔心組件樹的深層次結構,導致很難在組件之間進行通信。但隨着BlackBoard插件,現在很容易。
我發現this一些有趣的事情,但從來沒有時間去嘗試。
而我正在考慮實現一些聲明性表單/表字段工廠(使用xml)。
imho,用vaadin開發是如此的快樂......

+0

網上有解釋Vaadin如何使用黑板的資源嗎? – Zubair 2011-04-13 18:48:37

+1

黑板無助於處理組件佈局或位置(因此,如果您爲佈局找到解決方案,那不是)......但是當組件數量很多時(我們必須將它們放在不同的佈局或面板),黑板幫助我們處理事件監聽者在這些組件之間的通信。看看黑板的[wiki](https://github.com/wolfie/Blackboard/wiki/) – 2011-04-13 19:06:42