|
||||||||||
| 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.panel.Panel
org.apache.wicket.extensions.markup.html.tabs.TabbedPanel<T>
T - The type of panel to be used for this component's tabs. Just use ITab if you
have no special needs here.public class TabbedPanel<T extends ITab>
TabbedPanel component represents 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 Form| Field Summary | |
|---|---|
static 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(String id,
List<T> tabs)
Constructor |
|
TabbedPanel(String id,
List<T> tabs,
IModel<Integer> model)
Constructor |
|
| Method Summary | |
|---|---|
protected String |
getLastTabCssClass()
|
int |
getSelectedTab()
|
protected String |
getSelectedTabCssClass()
|
protected String |
getTabContainerCssClass()
|
List<T> |
getTabs()
|
protected IModel<?> |
initModel()
Override of the default initModel behaviour. |
protected WebMarkupContainer |
newLink(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(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()
|
protected void |
onDetach()
|
TabbedPanel<T> |
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 |
|---|
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession |
| Methods inherited from class org.apache.wicket.MarkupContainer |
|---|
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, 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 String TAB_PANEL_ID
| Constructor Detail |
|---|
public TabbedPanel(String id,
List<T> tabs)
id - component idtabs - list of ITab objects used to represent tabs
public TabbedPanel(String id,
List<T> tabs,
IModel<Integer> model)
id - component idtabs - list of ITab objects used to represent tabsmodel - model holding the index of the selected tab| Method Detail |
|---|
protected IModel<?> initModel()
initModel in class ComponentComponent.initModel()protected WebMarkupContainer newTabsContainer(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()
onBeforeRender in class Componentprotected String getTabContainerCssClass()
tab-rowprotected String getLastTabCssClass()
lastprotected String getSelectedTabCssClass()
selectedpublic final List<T> 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 TabbedPanel<T> setSelectedTab(int index)
index - index of the tab to select
IndexOutOfBoundsException - if index is not in the range of available tabspublic final int getSelectedTab()
protected void onDetach()
onDetach in class Component
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||