ThemeSwitcher

ThemeSwitcher enables applying new themes on-the-fly without full page refresh.

Default Switcher:
  • Choose Theme
  • Afterdark
  • Afternoon
  • Afterwork
  • Aristo
  • Black-Tie
  • Blitzer
  • Bluesky
  • Bootstrap
  • Casablanca
  • Cruze
  • Cupertino
  • Dark-Hive
  • Delta
  • Dot-Luv
  • Eggplant
  • Excite-Bike
  • Flick
  • Glass-X
  • Home
  • Hot-Sneaks
  • Humanity
  • Le-Frog
  • Midnight
  • Mint-Choc
  • Overcast
  • Pepper-Grinder
  • Redmond
  • Rocket
  • Sam
  • Smoothness
  • South-Street
  • Start
  • Sunny
  • Swanky-Purse
  • Trontastic
  • UI-Darkness
  • UI-Lightness
  • Vader
Stateful Switcher:
  • Choose Theme
  • Afterdark
  • Afternoon
  • Afterwork
  • Aristo
  • Black-Tie
  • Blitzer
  • Bluesky
  • Bootstrap
  • Casablanca
  • Cruze
  • Cupertino
  • Dark-Hive
  • Delta
  • Dot-Luv
  • Eggplant
  • Excite-Bike
  • Flick
  • Glass-X
  • Home
  • Hot-Sneaks
  • Humanity
  • Le-Frog
  • Midnight
  • Mint-Choc
  • Overcast
  • Pepper-Grinder
  • Redmond
  • Rocket
  • Sam
  • Smoothness
  • South-Street
  • Start
  • Sunny
  • Swanky-Purse
  • Trontastic
  • UI-Darkness
  • UI-Lightness
  • Vader
Theme Preview:
Choose Theme
afterdark
afternoon
afterwork
aristo
black-tie
blitzer
bluesky
bootstrap
casablanca
cruze
cupertino
dark-hive
delta
dot-luv
eggplant
excite-bike
flick
glass-x
home
hot-sneaks
humanity
le-frog
midnight
mint-choc
overcast
pepper-grinder
redmond
rocket
sam
smoothness
south-street
start
sunny
swanky-purse
trontastic
ui-darkness
ui-lightness
vader

Dialog
Resistance to PrimeFaces is futile!



Panel
Panel Content


Tab1 Content

Source

<h:form id="form">

    <h:panelGrid columns="2" cellpadding="10">
        <h:outputText value="Default Switcher:" /> 
        <p:themeSwitcher style="width:165px" id="defaultSwitcher">
            <f:selectItem itemLabel="Choose Theme" itemValue="" />
            <f:selectItems value="#{themeSwitcherBean.themes}" />
        </p:themeSwitcher>

        <h:outputText value="Stateful Switcher:" /> 
        <p:themeSwitcher value="#{guestPreferences.theme}" style="width:165px" effect="fade" id="statefulSwitcher">
            <f:selectItem itemLabel="Choose Theme" itemValue="" />
            <f:selectItems value="#{themeSwitcherBean.themes}" />
            <p:ajax listener="#{themeSwitcherBean.saveTheme}" />
        </p:themeSwitcher>

        <h:outputText value="Theme Preview:" /> 
        <p:themeSwitcher style="width:165px" effect="fade" var="t" id="themePreview">
            <f:selectItem itemLabel="Choose Theme" itemValue="" />
            <f:selectItems value="#{themeSwitcherBean.advancedThemes}" var="theme" itemLabel="#{theme.name}" itemValue="#{theme}"/>

            <p:column>
                <p:graphicImage value="/images/themes/#{t.image}"/>
            </p:column>

            <p:column>
                #{t.name}
            </p:column>
        </p:themeSwitcher>
    </h:panelGrid>

    <p:separator />

    <br />

    <p:commandButton value="Button" />

    <br /><br />

    <p:panel header="Panel">
        Panel Content
    </p:panel>

    <br />

    <p:toolbar>
        <p:toolbarGroup align="left">
            <p:commandButton type="button" value="New" icon="ui-icon-document" />

            <p:commandButton type="button" value="Open" icon="ui-icon-folder-open"/>

            <p:separator />

            <p:commandButton type="button" title="Save" icon="ui-icon-disk"/>
            <p:commandButton type="button" title="Delete" icon="ui-icon-trash"/>
            <p:commandButton type="button" title="Print" icon="ui-icon-print"/>
        </p:toolbarGroup>

        <p:toolbarGroup align="right">
            <p:menuButton value="Navigate">
                <p:menuitem value="Home" url="http://www.primefaces.org" />
                <p:menuitem value="ShowCase" url="http://www.primefaces.org/showcase" />
                <p:menuitem value="TouchFaces" url="http://www.primefaces.org/showcase/touch" />
            </p:menuButton>
        </p:toolbarGroup>

    </p:toolbar>

    <br />

    <p:tabView>
        <p:tab title="Tab1">Tab1 Content</p:tab>
        <p:tab title="Tab2">Tab2 Content</p:tab>
        <p:tab title="Tab3">Tab3 Content</p:tab>
    </p:tabView>

</h:form>