Class Canvas
- java.lang.Object
-
- ej.mwt.Widget
-
- ej.mwt.Container
-
- ej.widget.container.Canvas
-
public class Canvas extends Container
Lays out any number of children freely.Each child is laid out at the position it has been given.
In a canvas, each child will have the size it has been given, or if desired, its optimal size.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ej.mwt.Widget
Widget.WidgetListener
-
-
Field Summary
-
Fields inherited from class ej.mwt.Widget
DEBUG_WIDGET_ENABLED_CONSTANT, DEBUG_WIDGET_MONITOR_CONSTANT, NO_CONSTRAINT
-
-
Constructor Summary
Constructors Constructor Description Canvas()Creates a canvas.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChild(Widget child, int x, int y, int width, int height)Adds the specified widget to this canvas.voidchangeChildIndex(Widget child, int index)Changes the position of the specified widget in the list of children of this container.protected voidcomputeContentOptimalSize(Size size)Computes the optimal size of the widget.protected voidlayOutChildren(int contentWidth, int contentHeight)Lays out the children of this container.voidremoveAllChildren()Removes all the children of this container.voidremoveChild(Widget child)Removes the specified widget from the list of children of this container.-
Methods inherited from class ej.mwt.Container
addChild, computeChildOptimalSize, getChild, getChildIndex, getChildren, getChildrenCount, getContentBounds, getContentHeight, getContentWidth, getContentX, getContentY, getWidgetAt, insertChild, layOutAlignedChild, layOutChild, renderChild, renderContent, replaceChild, setHiddenChild, setHiddenChildren, setShownChild, setShownChildren, updateStyle
-
Methods inherited from class ej.mwt.Widget
addClassSelector, contains, containsWidget, getAbsoluteX, getAbsoluteY, getDesktop, getHeight, getParent, getStyle, getWidth, getX, getY, handleEvent, hasClassSelector, isAttached, isEnabled, isInState, isShown, isTransparent, onAttached, onDetached, onHidden, onLaidOut, onShown, removeAllClassSelectors, removeClassSelector, render, requestLayOut, requestRender, requestRender, setClassSelectors, setEnabled, setPosition, setStyle, setX, setY
-
-
-
-
Method Detail
-
addChild
public void addChild(Widget child, int x, int y, int width, int height)
Adds the specified widget to this canvas. The widget is laid out with the given bounds.If the given width or height is
Widget.NO_CONSTRAINT, the widget is fitted to its optimal width/height.- Parameters:
child- the widget to add.x- the x coordinate of the widget.y- the y coordinate of the widget.width- the width of the widget, orWidget.NO_CONSTRAINTto use the widget optimal width.height- the height of the widget, orWidget.NO_CONSTRAINTto use the widget optimal height.- Throws:
NullPointerException- if the specified widget isnull.IllegalArgumentException- if the specified widget is already in a hierarchy (already contained in a container or desktop).- See Also:
Container.addChild(Widget)
-
removeChild
public void removeChild(Widget child)
Description copied from class:ContainerRemoves the specified widget from the list of children of this container.The container needs to be laid out again.
If the widget is not in the list of children of the container, nothing is done.
Should be called in the display thread to avoid concurrency issues.
- Overrides:
removeChildin classContainer- Parameters:
child- the widget to remove.- See Also:
Widget.requestLayOut()
-
removeAllChildren
public void removeAllChildren()
Description copied from class:ContainerRemoves all the children of this container.The container needs to be laid out again.
Should be called in the display thread to avoid concurrency issues.
- Overrides:
removeAllChildrenin classContainer- See Also:
Widget.requestLayOut()
-
changeChildIndex
public void changeChildIndex(Widget child, int index)
Description copied from class:ContainerChanges the position of the specified widget in the list of children of this container.- Overrides:
changeChildIndexin classContainer- Parameters:
child- the child to move.index- the index at which the widget should be moved.
-
computeContentOptimalSize
protected void computeContentOptimalSize(Size size)
Description copied from class:WidgetComputes the optimal size of the widget.This method does not consider the border, margin, padding and dimension specified in the style.
The given size is the available size for this widget in its parent. A width or a height equal to
Widget#NO_CONSTRAINTmeans that there is no constraint on this dimension.The given size is modified to set the optimal size.
- Specified by:
computeContentOptimalSizein classWidget- Parameters:
size- the size available for the content.
-
layOutChildren
protected void layOutChildren(int contentWidth, int contentHeight)Description copied from class:ContainerLays out the children of this container.The given size is the size of this container minus the border, margin and padding specified in the style.
When this method returns the children of this container have been lay out using
Container.layOutChild(Widget, int, int, int, int).- Specified by:
layOutChildrenin classContainer- Parameters:
contentWidth- the width available for the content.contentHeight- the height available for the content.
-
-