1. When defining a sub menu or item without a label and only with an icon the component is not (properly) displayed.
2. When using a label and an icon in a menu item there is a gap between the label and icon.
This gap does not exist when using the menu item as a facet of a sub menu.
Example:
Code: Select all
<p:menubar effect="NONE">
<p:submenu>
<f:facet name="label">
<!-- ERROR: no gap between label and icon-->
<p:menuitem value="#{msgs.ADD}" icon="/resources/image/16x16/view_menu.gif"/>
</f:facet>
<!-- ERROR: item is not displayed -->
<p:menuitem icon="/resources/image/16x16/save.gif"/>
</p:submenu>
</p:menubar>
In my above code I get this exception:
java.lang.ClassCastException: javax.faces.component.UIPanel cannot be cast to org.primefaces.component.menuitem.MenuItem
at org.primefaces.component.menubar.MenubarRenderer.encodeSubmenu(MenubarRenderer.java:128)
at org.primefaces.component.menubar.MenubarRenderer.encodeMarkup(MenubarRenderer.java:93)
at org.primefaces.component.menubar.MenubarRenderer.encodeEnd(MenubarRenderer.java:36)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
When removing the comments everything is fine.
HTH Tai