2012-03-28 26 views
1

我正在使用GWT展示中的MenuBar。我想在菜單欄中添加文本。你能讓我知道我能以哪種方式得到它?GWT菜單欄中的圖像而不是文字

+0

你在哪裏想添加文本?你如何添加菜單很好解釋... – Stefan 2012-03-28 09:30:20

回答

0

我找到了解決方案。也許它會幫助別人......

MenuBar HomeMenu = new MenuBar(); 
final String image = "<img src='"+GWT.getModuleBaseURL() + "/images/down-arrow.png' height='25px' width='25px'/>"; 

SafeHtml addActivityImagePath = new SafeHtml() { 
    @Override 
    public String asString() { 
     return image; 
    } 
}; 

HomeMenu.addItem(new MenuItem(addActivityImagePath,mainMenu)); 
-1

這裏的一個link爲一個簡單的創建菜單欄的例子。 here是用子菜單創建菜單的示例。

+0

謝謝,但我想爲菜單添加圖標而不是顯示文本。所以這不會幫助我。 – PVR 2012-03-28 11:53:42

+2

我會用CSS來做。您可以爲每個項目選擇樣式,其中背景將是需要的圖片。 – 2012-03-28 12:10:37

2

你也可以試試這個。它在菜單欄文件API給

public MenuItem addItem(java.lang.String text, 
         boolean asHTML, 
         MenuBar popup) 

所以,在你的情況,

final String image = "<img src='"+GWT.getModuleBaseURL() + "/images/down-arrow.png' height='25px' width='25px'/>"; 


HomeMenu.addItem(new MenuItem(image,true,mainMenu)); 
+0

是的,這也是事實。但是也有相同的設計問題。所以我用POPUP嘗試過,效果很好。謝謝。 – PVR 2012-03-29 17:50:57

1

最好的辦法是不要砍什麼。只需使用Image類:

MenuItem profileMenuItem = new MenuItem(new Image(TripImages.INSTANCE.getUserSmall()) + " Profile", true, profileMenuDropdown); 

適用於我。

-1
MenuBar HomeMenu = new MenuBar(); 
final String image = "<img src='"+GWT.getModuleBaseURL() + "/images/down-arrow.png' height='25px' width='25px'/>"; 

SafeHtml addActivityImagePath = new SafeHtml() { 
    @Override 
    public String asString() { 
     return image; 
    } 
}; 

HomeMenu.addItem(new MenuItem(addActivityImagePath,mainMenu)); 
+0

這個答案克隆了接受的答案,並在答覆之後得到了回答... – cellepo 2014-11-12 23:00:13

0

如果您使用bundleImageResource,您可以使用AbstractImagePrototype

如果GlobalBundle.INSTANCE.home()是我ImageResource,這使得它出現在菜單上:

menu.addItem(AbstractImagePrototype.create(GlobalBundle.INSTANCE.home()).getSafeHtml(), ...); 
相關問題