2014-12-24 146 views
0

我的默认应用程序主题是雷德蒙德,我想通过面包屑使用不同的主页图标颜色。如何更改默认主页图标

为了使用不同的颜色,我在pom.xml中添加了hot-sneaks主题。

<dependency> 
     <groupId>org.primefaces.themes</groupId> 
     <artifactId>hot-sneaks</artifactId> 
     <version>1.0.10</version> 
     <scope>compile</scope> 
    </dependency> 

如何更改DefaultMenuItem中的主图标?

private void createHomeMenu() { 
    // Create home menuItem 
    DefaultMenuItem home = new DefaultMenuItem(); 
    home.setIcon(??); 
    home.setAjax(true); 

    breadCrumbModel.addElement(home); 
} 

感谢

回答

1

Primefaces使用jQuery themeroller的造型UI。 Primefaces中使用的所有图标均来自此处。因此,您可以从jquery icons中选择满意的图标。

public class BreadcrumbView { 

    private MenuModel model; 

    @PostConstruct 
    public void init() { 
     model = new DefaultMenuModel(); 

     DefaultMenuItem item = new DefaultMenuItem("External"); 
     item.setUrl("http://www.primefaces.org"); 
     item.setIcon("ui-icon-home"); 
     model.addElement(item); 

    } 

    public MenuModel getModel() { 
     return model; 
    } 
} 

然而,您可以通过使用CSS样式类指定自定义图标:

public class BreadcrumbView { 

    private MenuModel model; 

    @PostConstruct 
    public void init() { 
     model = new DefaultMenuModel(); 

     DefaultMenuItem item = new DefaultMenuItem("External"); 
     item.setUrl("http://www.primefaces.org"); 
     item.setIcon("xlogo"); 
     model.addElement(item); 

    } 

    public MenuModel getModel() { 
     return model; 
    } 
} 

,并加载位于resources/default/images/icons文件夹这样的形象:

.xlogo { 
    background: url('#{resource['default:images/icons/x_logo.png']}') no-repeat; 
    height:16px; 
    width:16px; 
}