2012-03-28 14 views
1

Ich verwende MenuBar von GWT Showcase. Ich möchte Text in der Menüleiste hinzufügen. Können Sie mir bitte mitteilen, auf welche Weise ich es bekommen kann?Bild in GWT Menüleiste anstelle von Text

+0

wo wollen Sie Text hinzufügen? Wie Sie Menüs hinzufügen, ist ziemlich gut erklärt ... – Stefan

Antwort

0

Ich habe die Lösung gefunden. Vielleicht hilft es jemand ...

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

Hier ein link zu einem einfachen Beispiel zum Erstellen von Menüleiste. Und here ist ein Beispiel zum Erstellen eines Menüs mit Untermenüs.

+0

Danke, aber ich möchte das Symbol für das Menü hinzufügen, anstatt Text anzuzeigen. Das wird mir also nicht helfen. – PVR

+2

Ich würde es mit CSS machen. Sie können Stil für jedes Element auswählen, in dem der Hintergrundbild erforderlich sein wird. –

2

Sie können dieses auch versuchen. Seine in MenuBar Docs API gegeben

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

So, In Ihrem Fall

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


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

Ja, das stimmt auch. Aber es gab dieselben Probleme beim Design. Also habe ich es mit POPUP versucht und es hat gut funktioniert. Danke. – PVR

1

Der beste Ansatz ist nichts zu hacken. Verwenden Sie einfach die Bildklasse:

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

Funktioniert für mich.

-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

Diese Antwort klont die angenommene Antwort und wurde danach beantwortet ... – cellepo

0

Wenn Sie bundle und ImageResource verwenden, können Sie AbstractImagePrototype verwenden.

Wenn GlobalBundle.INSTANCE.home() ist mein ImageResource, das es auf dem Menü erscheinen lässt:

menu.addItem(AbstractImagePrototype.create(GlobalBundle.INSTANCE.home()).getSafeHtml(), ...);