|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.wicket.Component org.apache.wicket.MarkupContainer org.apache.wicket.markup.html.WebMarkupContainer org.apache.wicket.markup.html.panel.Panel org.apache.wicket.extensions.markup.html.tabs.TabbedPanel
public class TabbedPanel
TabbedPanel component represets a panel with tabs that are used to switch between different content panels inside the TabbedPanel panel.
Note: When the currently selected tab is replaced by changing the underlying list of tabs,
the change is not picked up unless a call is made to setSelectedTab(int)
.
Example:
List tabs=new ArrayList(); tabs.add(new AbstractTab(new Model<String>("first tab")) { public Panel getPanel(String panelId) { return new TabPanel1(panelId); } }); tabs.add(new AbstractTab(new Model<String>("second tab")) { public Panel getPanel(String panelId) { return new TabPanel2(panelId); } }); add(new TabbedPanel("tabs", tabs)); <span wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</span>
For a complete example see the component references in wicket-examples project
ITab
,
Serialized FormField Summary | |
---|---|
static java.lang.String |
TAB_PANEL_ID
id used for child panels |
Fields inherited from class org.apache.wicket.markup.html.panel.Panel |
---|
PANEL |
Fields inherited from class org.apache.wicket.Component |
---|
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER |
Constructor Summary | |
---|---|
TabbedPanel(java.lang.String id,
java.util.List<? extends ITab> tabs)
Constructor |
Method Summary | |
---|---|
int |
getSelectedTab()
|
protected java.lang.String |
getTabContainerCssClass()
|
java.util.List<? extends ITab> |
getTabs()
|
protected WebMarkupContainer |
newLink(java.lang.String linkId,
int index)
Factory method for links used to switch between tabs. |
protected LoopItem |
newTabContainer(int tabIndex)
Generates a loop item used to represent a specific tab's li element. |
protected WebMarkupContainer |
newTabsContainer(java.lang.String id)
Generates the container for all tabs. |
protected Component |
newTitle(java.lang.String titleId,
IModel<?> titleModel,
int index)
Factory method for tab titles. |
protected void |
onBeforeRender()
Called just before a component is rendered. |
protected void |
onDetach()
Called to allow a component to detach resources after use. |
TabbedPanel |
setSelectedTab(int index)
sets the selected tab |
Methods inherited from class org.apache.wicket.markup.html.panel.Panel |
---|
newMarkupSourcingStrategy |
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer |
---|
getWebPage, getWebRequest |
Methods inherited from class org.apache.wicket.MarkupContainer |
---|
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onMarkupAttached, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String TAB_PANEL_ID
Constructor Detail |
---|
public TabbedPanel(java.lang.String id, java.util.List<? extends ITab> tabs)
id
- component idtabs
- list of ITab objects used to represent tabsMethod Detail |
---|
protected WebMarkupContainer newTabsContainer(java.lang.String id)
class
attribute based on the return value of getTabContainerCssClass()
id
- container id
protected LoopItem newTabContainer(int tabIndex)
li
element.
tabIndex
-
protected void onBeforeRender()
NOTE: If you override this, you *must* call super.onBeforeRender() within
your implementation.
Because this method is responsible for cascading Component.onBeforeRender()
call to its
children it is strongly recommended that super call is made at the end of the override.
onBeforeRender
in class Component
protected java.lang.String getTabContainerCssClass()
tab-row
public final java.util.List<? extends ITab> getTabs()
protected Component newTitle(java.lang.String titleId, IModel<?> titleModel, int index)
titleId
- id of title componenttitleModel
- model containing tab titleindex
- index of tab
protected WebMarkupContainer newLink(java.lang.String linkId, int index)
<a href="#" wicket:id="link"><span wicket:id="title">[[tab title]]</span></a>Example implementation:
protected WebMarkupContainer newLink(String linkId, final int index) { return new Link(linkId) { private static final long serialVersionUID = 1L; public void onClick() { setSelectedTab(index); } }; }
linkId
- component id with which the link should be createdindex
- index of the tab that should be activated when this link is clicked. See
setSelectedTab(int)
.
public TabbedPanel setSelectedTab(int index)
index
- index of the tab to select
public final int getSelectedTab()
protected void onDetach()
Component
onDetach
in class Component
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |