【问题标题】:Image in GWT menubar instead of textGWT 菜单栏中的图像而不是文本
【发布时间】:2012-03-28 08:27:36
【问题描述】:

我正在使用 GWT 展示中的 MenuBar。我想在菜单栏中添加文本。你能告诉我我可以通过什么方式得到它吗?

【问题讨论】:

  • 您想在哪里添加文字?你如何添加菜单已经很好地解释了......

标签: gwt menubar


【解决方案1】:

你也可以试试这个。它在 MenuBar Docs 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));

【讨论】:

  • 是的,这也是真的。但也有同样的设计问题。所以我尝试了 POPUP 并且效果很好。谢谢。
【解决方案2】:

最好的方法是不要破解任何东西。只需使用 Image 类:

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

为我工作。

【讨论】:

    【解决方案3】:

    我找到了解决方案。也许它会帮助某人......

    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));
    

    【讨论】:

      【解决方案4】:

      如果您使用的是bundleImageResource,则可以使用AbstractImagePrototype

      如果GlobalBundle.INSTANCE.home() 是我的ImageResource,则它会出现在菜单上:

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

      【讨论】:

        【解决方案5】:

        这里是link 创建菜单栏的简单示例。 here 是创建带有子菜单的菜单的示例。

        【讨论】:

        • 谢谢,但我想为菜单添加图标而不是显示文本。所以这对我没有帮助。
        • 我会用 CSS 来做。您可以为每个项目选择样式,其中背景将是所需的图片。
        【解决方案6】:
            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));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-23
          相关资源
          最近更新 更多