Class Panel
-
- All Implemented Interfaces:
Action.Container
,Action.Notifier
,ConnectorEventListener
,ContextClickEvent.ContextClickNotifier
,MethodEventSource
,ClientConnector
,Scrollable
,Sizeable
,VariableOwner
,Connector
,Component
,Component.Focusable
,HasComponents
,HasComponents.ComponentAttachDetachNotifier
,LegacyComponent
,SingleComponentContainer
,Serializable
,Iterable<Component>
,EventListener
- Direct Known Subclasses:
Window
public class Panel extends AbstractSingleComponentContainer implements Scrollable, Action.Notifier, Component.Focusable, LegacyComponent
Panel - a simple single component container.- Since:
- 3.0
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
-
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
-
Nested classes/interfaces inherited from interface com.vaadin.ui.HasComponents
HasComponents.ComponentAttachDetachNotifier, HasComponents.ComponentAttachEvent, HasComponents.ComponentAttachListener, HasComponents.ComponentDetachEvent, HasComponents.ComponentDetachListener
-
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
-
-
Field Summary
Fields Modifier and Type Field Description protected ActionManager
actionManager
Keeps track of the Actions added to this component, and manages the painting and handling as well.-
Fields inherited from class com.vaadin.ui.AbstractComponent
DESIGN_ATTR_PLAIN_TEXT
-
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
-
-
Constructor Summary
Constructors Constructor Description Panel()
Creates a new empty panel.Panel(Component content)
Creates a new empty panel which contains the given content.Panel(String caption)
Creates a new empty panel with caption.Panel(String caption, Component content)
Creates a new empty panel with the given caption and content.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <T extends Action & Action.Listener>
voidaddAction(T action)
void
addActionHandler(Action.Handler actionHandler)
Registers a new action handler for this containervoid
addClickListener(MouseEvents.ClickListener listener)
Add a click listener to the Panel.void
addListener(MouseEvents.ClickListener listener)
Deprecated.As of 7.0, replaced byaddClickListener(ClickListener)
void
changeVariables(Object source, Map<String,Object> variables)
Called when one or more variables handled by the implementing class are changed.void
focus()
Moves keyboard focus to the component.protected ActionManager
getActionManager()
protected Collection<String>
getCustomAttributes()
Returns a collection of attributes that should not be handled by the basic implementation of theAbstractComponent.readDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)
andAbstractComponent.writeDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)
methods.int
getScrollLeft()
Gets scroll left offset.int
getScrollTop()
Gets scroll top offset.protected PanelState
getState()
Returns the shared state bean with information to be sent from the server to the client.protected PanelState
getState(boolean markAsDirty)
Returns the shared state for this connector.int
getTabIndex()
Gets the tabulator index of theFocusable
component.void
paintContent(PaintTarget target)
Paints the Paintable into a UIDL stream.void
readDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Reads the component state from the given design.<T extends Action & Action.Listener>
voidremoveAction(T action)
void
removeActionHandler(Action.Handler actionHandler)
Removes a previously registered action handler for the contents of this container.void
removeAllActionHandlers()
Removes all action handlersvoid
removeClickListener(MouseEvents.ClickListener listener)
Remove a click listener from the Panel.void
removeListener(MouseEvents.ClickListener listener)
Deprecated.As of 7.0, replaced byremoveClickListener(ClickListener)
void
setCaption(String caption)
Sets the caption of the panel.void
setScrollLeft(int scrollLeft)
Sets scroll left offset.void
setScrollTop(int scrollTop)
Sets scroll top offset.void
setTabIndex(int tabIndex)
Sets the tabulator index of theFocusable
component.void
writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Writes the component state to the given design.-
Methods inherited from class com.vaadin.ui.AbstractSingleComponentContainer
addComponentAttachListener, addComponentDetachListener, fireComponentAttachEvent, fireComponentDetachEvent, getComponentCount, getContent, iterator, readDesignChildren, removeComponentAttachListener, removeComponentDetachListener, removeFromParent, setContent, setHeight, setWidth
-
Methods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addListener, addShortcutListener, addStyleName, attach, beforeClientResponse, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorMessage, getExplicitImmediateValue, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isImmediate, isOrHasAncestor, isReadOnly, isResponsive, isVisible, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setLocale, setParent, setPrimaryStyleName, setReadOnly, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidthUndefined
-
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, beforeClientResponse, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
-
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isReadOnly, isVisible, removeListener, removeStyleName, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setReadOnly, setStyleName, setVisible
-
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
-
Methods inherited from interface com.vaadin.ui.LegacyComponent
markAsDirty
-
Methods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUndefined
-
Methods inherited from interface com.vaadin.server.VariableOwner
isEnabled, isImmediate
-
-
-
-
Field Detail
-
actionManager
protected ActionManager actionManager
Keeps track of the Actions added to this component, and manages the painting and handling as well.
-
-
Constructor Detail
-
Panel
public Panel()
Creates a new empty panel.
-
Panel
public Panel(Component content)
Creates a new empty panel which contains the given content.- Parameters:
content
- the content for the panel.
-
Panel
public Panel(String caption)
Creates a new empty panel with caption.- Parameters:
caption
- the caption used in the panel (HTML).
-
-
Method Detail
-
setCaption
public void setCaption(String caption)
Sets the caption of the panel. Note that the caption is interpreted as HTML and therefore care should be taken not to enable HTML injection and XSS attacks using panel captions. This behavior may change in future versions.- Specified by:
setCaption
in interfaceComponent
- Overrides:
setCaption
in classAbstractComponent
- Parameters:
caption
- the new captionString
for the component.- See Also:
AbstractComponent.setCaption(String)
-
paintContent
public void paintContent(PaintTarget target) throws PaintException
Description copied from interface:LegacyComponent
Paints the Paintable into a UIDL stream. This method creates the UIDL sequence describing it and outputs it to the given UIDL stream.
It is called when the contents of the component should be painted in response to the component first being shown or having been altered so that its visual representation is changed.
- Specified by:
paintContent
in interfaceLegacyComponent
- Parameters:
target
- the target UIDL stream where the component should paint itself to.- Throws:
PaintException
- if the paint operation failed.
-
changeVariables
public void changeVariables(Object source, Map<String,Object> variables)
Called when one or more variables handled by the implementing class are changed.- Specified by:
changeVariables
in interfaceVariableOwner
- Parameters:
source
- the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.variables
- the Mapping from variable names to new variable values.- See Also:
VariableOwner.changeVariables(Object, Map)
-
getScrollLeft
public int getScrollLeft()
Description copied from interface:Scrollable
Gets scroll left offset.Scrolling offset is the number of pixels this scrollable has been scrolled right.
- Specified by:
getScrollLeft
in interfaceScrollable
- Returns:
- Horizontal scrolling position in pixels.
-
getScrollTop
public int getScrollTop()
Description copied from interface:Scrollable
Gets scroll top offset.Scrolling offset is the number of pixels this scrollable has been scrolled down.
- Specified by:
getScrollTop
in interfaceScrollable
- Returns:
- Vertical scrolling position in pixels.
-
setScrollLeft
public void setScrollLeft(int scrollLeft)
Description copied from interface:Scrollable
Sets scroll left offset.Scrolling offset is the number of pixels this scrollable has been scrolled right.
- Specified by:
setScrollLeft
in interfaceScrollable
- Parameters:
scrollLeft
- the xOffset.
-
setScrollTop
public void setScrollTop(int scrollTop)
Description copied from interface:Scrollable
Sets scroll top offset.Scrolling offset is the number of pixels this scrollable has been scrolled down.
The scrolling position is limited by the current height of the content area. If the position is below the height, it is scrolled to the bottom. However, if the same response also adds height to the content area, scrolling to bottom only scrolls to the bottom of the previous content area.
- Specified by:
setScrollTop
in interfaceScrollable
- Parameters:
scrollTop
- the yOffset.
-
getActionManager
protected ActionManager getActionManager()
Description copied from class:AbstractComponent
- Overrides:
getActionManager
in classAbstractComponent
- Returns:
- the ActionManager in use
-
addAction
public <T extends Action & Action.Listener> void addAction(T action)
- Specified by:
addAction
in interfaceAction.Notifier
-
removeAction
public <T extends Action & Action.Listener> void removeAction(T action)
- Specified by:
removeAction
in interfaceAction.Notifier
-
addActionHandler
public void addActionHandler(Action.Handler actionHandler)
Description copied from interface:Action.Container
Registers a new action handler for this container- Specified by:
addActionHandler
in interfaceAction.Container
- Parameters:
actionHandler
- the new handler to be added.
-
removeActionHandler
public void removeActionHandler(Action.Handler actionHandler)
Description copied from interface:Action.Container
Removes a previously registered action handler for the contents of this container.- Specified by:
removeActionHandler
in interfaceAction.Container
- Parameters:
actionHandler
- the handler to be removed.
-
removeAllActionHandlers
public void removeAllActionHandlers()
Removes all action handlers
-
addClickListener
public void addClickListener(MouseEvents.ClickListener listener)
Add a click listener to the Panel. The listener is called whenever the user clicks inside the Panel. Also when the click targets a component inside the Panel, provided the targeted component does not prevent the click event from propagating. UseremoveListener(ClickListener)
to remove the listener.- Parameters:
listener
- The listener to add
-
addListener
@Deprecated public void addListener(MouseEvents.ClickListener listener)
Deprecated.As of 7.0, replaced byaddClickListener(ClickListener)
-
removeClickListener
public void removeClickListener(MouseEvents.ClickListener listener)
Remove a click listener from the Panel. The listener should earlier have been added usingaddListener(ClickListener)
.- Parameters:
listener
- The listener to remove
-
removeListener
@Deprecated public void removeListener(MouseEvents.ClickListener listener)
Deprecated.As of 7.0, replaced byremoveClickListener(ClickListener)
-
getTabIndex
public int getTabIndex()
Gets the tabulator index of theFocusable
component.- Specified by:
getTabIndex
in interfaceComponent.Focusable
- Returns:
- tab index set for the
Focusable
component - See Also:
Component.Focusable.setTabIndex(int)
-
setTabIndex
public void setTabIndex(int tabIndex)
Sets the tabulator index of theFocusable
component. The tab index property is used to specify the order in which the fields are focused when the user presses the Tab key. Components with a defined tab index are focused sequentially first, and then the components with no tab index.Form loginBox = new Form(); loginBox.setCaption("Login"); layout.addComponent(loginBox); // Create the first field which will be focused TextField username = new TextField("User name"); loginBox.addField("username", username); // Set focus to the user name username.focus(); TextField password = new TextField("Password"); loginBox.addField("password", password); Button login = new Button("Login"); loginBox.getFooter().addComponent(login); // An additional component which natural focus order would // be after the button. CheckBox remember = new CheckBox("Remember me"); loginBox.getFooter().addComponent(remember); username.setTabIndex(1); password.setTabIndex(2); remember.setTabIndex(3); // Different than natural place login.setTabIndex(4);
After all focusable user interface components are done, the browser can begin again from the component with the smallest tab index, or it can take the focus out of the page, for example, to the location bar.
If the tab index is not set (is set to zero), the default tab order is used. The order is somewhat browser-dependent, but generally follows the HTML structure of the page.
A negative value means that the component is completely removed from the tabulation order and can not be reached by pressing the Tab key at all.
- Specified by:
setTabIndex
in interfaceComponent.Focusable
- Parameters:
tabIndex
- the tab order of this component. Indexes usually start from 1. Zero means that default tab order should be used. A negative value means that the field should not be included in the tabbing sequence.- See Also:
Component.Focusable.getTabIndex()
-
focus
public void focus()
Moves keyboard focus to the component. {@see Focusable#focus()}- Specified by:
focus
in interfaceComponent.Focusable
- Overrides:
focus
in classAbstractComponent
- See Also:
FieldEvents
,FieldEvents.FocusEvent
,FieldEvents.FocusListener
,FieldEvents.BlurEvent
,FieldEvents.BlurListener
-
getState
protected PanelState getState()
Description copied from class:AbstractComponent
Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().- Overrides:
getState
in classAbstractComponent
- Returns:
- updated component shared state
-
getState
protected PanelState getState(boolean markAsDirty)
Description copied from class:AbstractClientConnector
Returns the shared state for this connector.- Overrides:
getState
in classAbstractComponent
- Parameters:
markAsDirty
- true if the connector should automatically be marked dirty, false otherwise- Returns:
- The shared state for this connector. Never null.
- See Also:
AbstractClientConnector.getState()
-
readDesign
public void readDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Description copied from interface:Component
Reads the component state from the given design.The component is responsible not only for updating its own state but also for ensuring that its children update their state based on the design.
It is assumed that the component is in its default state when this method is called. Reading should only take into consideration attributes specified in the design and not reset any unspecified attributes to their defaults.
This method must not modify the design.
- Specified by:
readDesign
in interfaceComponent
- Overrides:
readDesign
in classAbstractSingleComponentContainer
- Parameters:
design
- The element to obtain the state fromdesignContext
- The DesignContext instance used for parsing the design
-
getCustomAttributes
protected Collection<String> getCustomAttributes()
Description copied from class:AbstractComponent
Returns a collection of attributes that should not be handled by the basic implementation of theAbstractComponent.readDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)
andAbstractComponent.writeDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)
methods. Typically these are handled in a custom way in the overridden versions of the above methods- Overrides:
getCustomAttributes
in classAbstractComponent
- Returns:
- the collection of attributes that are not handled by the basic implementation
-
writeDesign
public void writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)
Description copied from interface:Component
Writes the component state to the given design.The component is responsible not only for writing its own state but also for ensuring that its children write their state to the design.
This method must not modify the component state.
- Specified by:
writeDesign
in interfaceComponent
- Overrides:
writeDesign
in classAbstractSingleComponentContainer
- Parameters:
design
- The element to write the component state to. Any previous attributes or child nodes are not cleared.designContext
- The DesignContext instance used for writing the design
-
-