Иконка для динамического меню Primefaces

Как получить значок из папки ресурсов JSF в динамическое меню, созданное из org.primefaces.model.MenuModel; Методы меню setIcon принимают в качестве параметра только строку.


person Buddhika Ariyaratne    schedule 20.08.2012    source источник


Ответы (2)


Да, метод setIcon принимает строку, которая является именем значка, который вы хотите установить. Так, например:

    MenuItem item3 = new MenuItem();
    item3.setIcon("ui-icon-print");

Возможно, вы пытаетесь использовать изображение вместо значка? Здесь есть шпаргалка предопределенных значков: http://www.petefreitag.com/cheatsheets/jqueryui-icons/

Если вы пытаетесь создать свой собственный значок, вам нужно будет сделать то, что указал @Ravi, и создать собственный класс CSS, на который вы будете ссылаться в методе setIcon().

person SteveS    schedule 21.08.2012

Вы можете указать собственный значок, используя класс стиля css следующим образом:

<p:menuitem icon="barca" ... />

и загрузите изображение, расположенное в папке resources/default/images/icons следующим образом:

.barca {
    background: url('#{resource['default:images/icons/barca_logo.png']}') no-repeat;
    height:16px;
    width:16px;
}
person Ravi Kadaboina    schedule 21.08.2012
comment
Я создаю меню динамически. На странице JSF я использую только ‹pou:menubar model=#{menu.model} /›. В заднем компоненте я создаю меню, такое как элемент MenuItem; элемент = новый элемент меню(); item.setValue (getLabel (дом)); элемент.setUrl(index.xhtml); модель.addMenuItem (элемент); Так что ваш метод не может быть применен в этом контексте. - person Buddhika Ariyaratne; 21.08.2012