|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
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 FormNested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.wicket.Component |
---|
Component.ComponentModelChange, Component.EnabledChange, Component.IVisitor<T extends Component>, Component.VisibilityChange |
Field Summary | |
---|---|
static String |
TAB_PANEL_ID
id used for child panels |
Fields inherited from class org.apache.wicket.Component |
---|
ENABLE, FLAG_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER |
Constructor Summary | |
---|---|
TabbedPanel(String id,
List<ITab> tabs)
Constructor |
Method Summary | |
---|---|
int |
getSelectedTab()
|
protected String |
getTabContainerCssClass()
|
List<ITab> |
getTabs()
|
protected WebMarkupContainer |
newLink(String linkId,
int index)
Factory method for links used to switch between tabs. |
protected Loop.LoopItem |
newTabContainer(int tabIndex)
Generates a loop item used to represent a specific tab's li element. |
protected WebMarkupContainer |
newTabsContainer(String id)
Generates the container for all tabs. |
protected Component |
newTitle(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. |
void |
setSelectedTab(int index)
sets the selected tab |
Methods inherited from class org.apache.wicket.markup.html.panel.Panel |
---|
onComponentTag, onComponentTagBody, renderHead |
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup |
---|
newHeaderPartContainer, renderHeadFromAssociatedMarkupFile |
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer |
---|
getMarkupType, getWebPage, getWebRequest |
Methods inherited from class org.apache.wicket.MarkupContainer |
---|
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String TAB_PANEL_ID
Constructor Detail |
---|
public TabbedPanel(String id, List<ITab> tabs)
id
- component idtabs
- list of ITab objects used to represent tabsMethod Detail |
---|
protected WebMarkupContainer newTabsContainer(String id)
class
attribute based on the return value of getTabContainerCssClass()
id
- container id
protected Loop.LoopItem newTabContainer(int tabIndex)
li
element.
tabIndex
-
protected void onBeforeRender()
Component
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
Component.onBeforeRender()
protected String getTabContainerCssClass()
tab-row
public final List<ITab> getTabs()
protected Component newTitle(String titleId, IModel<?> titleModel, int index)
titleId
- id of title componenttitleModel
- model containing tab titleindex
- index of tab
protected WebMarkupContainer newLink(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 void setSelectedTab(int index)
index
- index of the tab to selectpublic 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 |