2013-03-22 63 views
-1

我有一個VerticalPanel,包含一個圖像和一個帶有一些文本的標籤。我想要實現的東西就像桌面圖標 - 當你點擊它時 - 它會被標記出來,並且可能會出現一個菜單。當您點擊圖標以外 - 菜單應該消失,圖標將被取消標記。GWT實現類似桌面圖標

目前我試圖通過在FocusPanel中包裝VerticalPanel並使用一些焦點處理來實現這一點,但迄今爲止我還沒有取得任何令人滿意的結果。

如果你能給我一些關於如何最好地實現這一點的指導,我將不勝感激。

謝謝。

+1

我會嘗試使用爲菜單中所作的部件:菜單欄(http://google-web-toolkit.googlecode.com/svn /javadoc/latest/com/google/gwt/user/client/ui/MenuBar.html) - 使用一些樣式,它不必像典型的菜單/菜單欄。 – 2013-03-22 15:35:59

回答

0

你正在與FocusPanel包裝的正確軌道。關於FocusPanel您要做什麼的關鍵點是捕獲點擊次數(通過執行HasClickHandlers)。然後,您可以處理點擊並分配面板CSS規則,例如border-width,border-colorbackground-color等,根據你想要顯示你的圖標按下/選擇。

+0

呃...好吧,但是當我點擊焦點面板時呢?它應該被取消選中。我將如何實現? – mdzh 2013-03-24 17:06:54

+0

自從FocusPanel還添加了[BlurHandler](http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/event/dom/client/BlurHandler.html)實現[HasBlurHandlers](http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/event/dom/client/HasBlurHandlers.html),並在onBlur()中修改您的面板的CSS表示選擇丟失。 – 2013-03-25 01:14:51

+0

非常感謝!這就是訣竅! – mdzh 2013-03-25 08:50:44