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
Antwort
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));
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.
Danke, aber ich möchte das Symbol für das Menü hinzufügen, anstatt Text anzuzeigen. Das wird mir also nicht helfen. – PVR
Ich würde es mit CSS machen. Sie können Stil für jedes Element auswählen, in dem der Hintergrundbild erforderlich sein wird. –
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));
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
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.
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));
Diese Antwort klont die angenommene Antwort und wurde danach beantwortet ... – cellepo
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(), ...);
wo wollen Sie Text hinzufügen? Wie Sie Menüs hinzufügen, ist ziemlich gut erklärt ... – Stefan