javax.rad.genui
Class UIComponent<C extends IComponent>

java.lang.Object
  extended by javax.rad.genui.UIResource<C>
      extended by javax.rad.genui.UIComponent<C>
Type Parameters:
C - instance of IComponent
All Implemented Interfaces:
ITranslatable, IComponent, IResource, INamedObject
Direct Known Subclasses:
AbstractUIActionComponent, AbstractUITextField, UIChart, UIContainer, UICustomComponent, UIEditor, UIIcon, UILabel, UISeparator, UITable, UITree

public abstract class UIComponent<C extends IComponent>
extends UIResource<C>
implements IComponent, ITranslatable

Platform and technology independent component. It is designed for use with AWT, Swing, SWT, JSP, JSF,... .


Field Summary
protected  long lLastTranslationModified
          the time of the last translation modification.
protected  IContainer parent
          the UIParent of this UICompoennt.
 
Fields inherited from class javax.rad.genui.UIResource
uiResource
 
Constructor Summary
protected UIComponent(C pComponent)
          Creates a new instance of UIComponent.
 
Method Summary
 void addNotify()
          Makes this UIComponent displayable by adding it to an UIContainer.
 void beforeAddNotify(IComponent pParent)
          Invoked before this component is added.
 IImage capture(int iWidth, int iHeight)
          Creates an image/screenshot of the component.
static ICellFormatter createCellFormatter(Object pCellFormatter, String pMethodName)
          Creates a cell formatter instance with the given object and method name.
static INodeFormatter createNodeFormatter(Object pNodeFormatter, String pMethodName)
          Creates a node formatter instance with the given object and method name.
 void debug(Object... pInfo)
          Logs debug information.
 void error(Object... pInfo)
          Logs error information.
 ComponentHandler eventComponentMoved()
          The ComponentHandler for the moved event.
 ComponentHandler eventComponentResized()
          The ComponentHandler for the resized event.
 KeyHandler eventKeyPressed()
          The EventHandler for the key pressed event.
 KeyHandler eventKeyReleased()
          The EventHandler for the key released event.
 KeyHandler eventKeyTyped()
          The EventHandler for the key typed event.
 MouseHandler eventMouseClicked()
          The EventHandler for the mouse clicked event.
 MouseHandler eventMouseEntered()
          The EventHandler for the mouse entered event.
 MouseHandler eventMouseExited()
          The EventHandler for the mouse exited event.
 MouseHandler eventMousePressed()
          The EventHandler for the mouse pressed event.
 MouseHandler eventMouseReleased()
          The EventHandler for the mouse released event.
 IColor getBackground()
          Gets the background color of this component.
 IRectangle getBounds()
          Gets the bounds of this component in the form of a IRectangle object.
protected  IComponent getComponentUIResource()
          Gets the component which will be added/removed to an UIContainer instead of this component.
protected  TranslationMap getCurrentTranslation()
          Gets the current translation mapping usable for this UIComponent.
 ICursor getCursor()
          Gets the ICursor set in the component.
 IComponent getEventSource()
          Gets the wanted event source for this component.
 IFactory getFactory()
          Gets the factory that created this NamedObject.
 IFont getFont()
          Gets the font of this component.
 IColor getForeground()
          Gets the foreground color of this component.
 IPoint getLocation()
          Gets the location of this component in the form of a point specifying the component's top-left corner.
 IPoint getLocationRelativeTo(IComponent pComponent)
          Gets the location relative to the given component.
 IDimension getMaximumSize()
          Gets the maximum size of this component.
 IDimension getMinimumSize()
          Gets the mininimum size of this component.
 String getName()
          Gets the name of the object.
 IContainer getParent()
          Gets the parent of this component.
 IDimension getPreferredSize()
          Gets the preferred size of this component.
 Object getResource()
          Gets the original resource corresponding with this wrapper object.
 IDimension getSize()
          Returns the size of this component in the form of a IDimension object.
 String getToolTipText()
          Returns the tooltip string that has been set with setToolTipText.
 TranslationMap getTranslation()
          Gets the possible translation mapping for this UIComponent.
 void info(Object... pInfo)
          Logs information.
static void invokeAndWait(Object pRunnable, String pMethod)
          Causes pRunnable.run() to be executed synchronously on the event dispatching thread.
static void invokeAndWait(Runnable pRunnable)
          Causes pRunnable.run() to be executed synchronously on the event dispatching thread.
static void invokeInThread(Object pRunnable, String pMethod)
          Causes pRunnable.run() to be executed asynchronously in a new thread.
static void invokeInThread(Runnable pRunnable)
          Causes pRunnable.run() to be executed asynchronously in a new thread.
static void invokeLater(Object pObject, String pMethod)
          Causes pRunnable.run() to be executed asynchronously on the event dispatching thread.
static void invokeLater(Runnable pRunnable)
          Causes pRunnable.run() to be executed asynchronously on the event dispatching thread.
 boolean isBackgroundSet()
          Returns whether the background color has been explicitly set for this Component.
 boolean isBeforeNotified()
          Gets whether this component is notified before it was added.
 boolean isCursorSet()
          Returns whether the cursor has been explicitly set for this Component.
 boolean isEnabled()
          Determines whether this component is enabled.
 boolean isFocusable()
          Returns whether this component can be focused.
 boolean isFontSet()
          Returns whether the font has been explicitly set for this Component.
 boolean isForegroundSet()
          Returns whether the foreground color has been explicitly set for this Component.
 boolean isMaximumSizeSet()
          Returns true if the maximum size has been set to a non-null value otherwise returns false.
 boolean isMinimumSizeSet()
          Returns whether or not setMinimumSize has been invoked with a non-null value.
 boolean isNotified()
          Determines whether this UIComponent is displayable.
 boolean isPreferredSizeSet()
          Returns true if the preferred size has been set to a non-null value otherwise returns false.
protected  boolean isTranslationChanged()
          Gets whether the translation was changed.
 boolean isTranslationEnabled()
          Gets whether the translation is en- or disabled.
 boolean isVisible()
          Determines whether this component should be visible when its parent is visible.
 void removeNotify()
          Makes this UIComponent undisplayable by removing it to an UIContainer.
 void requestFocus()
          Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
 void setBackground(IColor pBackground)
          Sets the background color of this component.
 void setBounds(int pX, int pY, int pWidth, int pHeight)
          Set the bounds with primitive types.
 void setBounds(IRectangle pBounds)
          Moves and resizes this component to conform to the new bounding rectangle pBounds.
 void setCursor(ICursor pCursor)
          Sets the cursor image to the specified cursor.
 void setEnabled(boolean pEnable)
          Enables or disables this component, depending on the value of the parameter pEnable.
 void setEventSource(IComponent pEventSource)
          Sets the wanted event source for this component.
 void setFocusable(boolean pFocusable)
          Sets the focusable state of this component to the specified value.
 void setFont(IFont pFont)
          Sets the IFont of this component.
 void setForeground(IColor pForeground)
          Sets the foreground color of this component.
 void setLocation(int pX, int pY)
          Set the location with primitive types.
 void setLocation(IPoint pLocation)
          Moves this component to a new location.
 void setLocationRelativeTo(IComponent pComponent, IPoint pLocation)
          Sets the location relative to the given component.
 void setMaximumSize(IDimension pMaximumSize)
          Sets the maximum size of this component to a constant value.
 void setMaximumSize(int pWidth, int pHeight)
          Set the maximum size with primitive types.
 void setMinimumSize(IDimension pMinimumSize)
          Sets the minimum size of this component to a constant value.
 void setMinimumSize(int pWidth, int pHeight)
          Set the minimum size with primitive types.
 void setName(String pName)
          Sets the name of the object to the specified string.
 void setParent(IContainer pParent)
          Sets the parent of this component.
 void setPreferredSize(IDimension pPreferredSize)
          Sets the preferred size of this component to a constant value.
 void setPreferredSize(int pWidth, int pHeight)
          Set the preferred size with primitive types.
 void setSize(IDimension pSize)
          Resizes this component so that it has width d.width and height d.height.
 void setSize(int pWidth, int pHeight)
          Set the size with primitive types.
 void setToolTipText(String pText)
          Registers the text to display in a tool tip.
 void setTranslation(TranslationMap pTranslation)
          Sets the possible translations for this UIComponent.
 void setTranslationEnabled(boolean pEnabled)
          Sets the translation en- or disabled for this component.
 void setVisible(boolean pVisible)
          Shows or hides this component depending on the value of parameter b.
 String translate(String pText)
          Translates the given text with the avaliable translation.
 void updateTranslation()
          Notification for updating the translation.
 
Methods inherited from class javax.rad.genui.UIResource
equals, getUIResource, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

parent

protected IContainer parent
the UIParent of this UICompoennt.


lLastTranslationModified

protected long lLastTranslationModified
the time of the last translation modification.

Constructor Detail

UIComponent

protected UIComponent(C pComponent)
Creates a new instance of UIComponent.

Parameters:
pComponent - the Component.
See Also:
IComponent
Method Detail

getName

public String getName()
Gets the name of the object.

Specified by:
getName in interface IComponent
Specified by:
getName in interface INamedObject
Returns:
this component's name
See Also:
IComponent.setName(java.lang.String)

setName

public void setName(String pName)
Sets the name of the object to the specified string.

Specified by:
setName in interface IComponent
Specified by:
setName in interface INamedObject
Parameters:
pName - the string that is to be this component's name
See Also:
IComponent.getName()

getFactory

public IFactory getFactory()
Gets the factory that created this NamedObject.

Specified by:
getFactory in interface IComponent
Returns:
the factory that created this NamedObject

getPreferredSize

public IDimension getPreferredSize()
Gets the preferred size of this component.

Specified by:
getPreferredSize in interface IComponent
Returns:
an IDimension object indicating this component's preferred size
See Also:
IComponent.getMinimumSize(), LayoutManager

setPreferredSize

public void setPreferredSize(IDimension pPreferredSize)
Sets the preferred size of this component to a constant value. Subsequent calls to getPreferredSize will always return this value. Setting the preferred size to null restores the default behavior.

Specified by:
setPreferredSize in interface IComponent
Parameters:
pPreferredSize - the new preferred size, or null
See Also:
IComponent.getPreferredSize(), IComponent.isPreferredSizeSet()

setPreferredSize

public void setPreferredSize(int pWidth,
                             int pHeight)
Set the preferred size with primitive types.

Parameters:
pWidth - the width.
pHeight - the height.

isPreferredSizeSet

public boolean isPreferredSizeSet()
Returns true if the preferred size has been set to a non-null value otherwise returns false.

Specified by:
isPreferredSizeSet in interface IComponent
Returns:
true if setPreferredSize has been invoked with a non-null value.

getMinimumSize

public IDimension getMinimumSize()
Gets the mininimum size of this component.

Specified by:
getMinimumSize in interface IComponent
Returns:
an IDimension object indicating this component's minimum size
See Also:
IComponent.getPreferredSize(), LayoutManager

setMinimumSize

public void setMinimumSize(IDimension pMinimumSize)
Sets the minimum size of this component to a constant value. Subsequent calls to getMinimumSize will always return this value. Setting the minimum size to null restores the default behavior.

Specified by:
setMinimumSize in interface IComponent
Parameters:
pMinimumSize - the new minimum size of this component
See Also:
IComponent.getMinimumSize(), IComponent.isMinimumSizeSet()

setMinimumSize

public void setMinimumSize(int pWidth,
                           int pHeight)
Set the minimum size with primitive types.

Parameters:
pWidth - the width.
pHeight - the height.

isMinimumSizeSet

public boolean isMinimumSizeSet()
Returns whether or not setMinimumSize has been invoked with a non-null value.

Specified by:
isMinimumSizeSet in interface IComponent
Returns:
true if setMinimumSize has been invoked with a non-null value.

getMaximumSize

public IDimension getMaximumSize()
Gets the maximum size of this component.

Specified by:
getMaximumSize in interface IComponent
Returns:
an IDimension object indicating this component's maximum size
See Also:
IComponent.getMinimumSize(), IComponent.getPreferredSize(), LayoutManager

setMaximumSize

public void setMaximumSize(IDimension pMaximumSize)
Sets the maximum size of this component to a constant value. Subsequent calls to getMaximumSize will always return this value. Setting the maximum size to null restores the default behavior.

Specified by:
setMaximumSize in interface IComponent
Parameters:
pMaximumSize - a IDimension containing the desired maximum allowable size
See Also:
IComponent.getMaximumSize(), IComponent.isMaximumSizeSet()

setMaximumSize

public void setMaximumSize(int pWidth,
                           int pHeight)
Set the maximum size with primitive types.

Parameters:
pWidth - the width.
pHeight - the height.

isMaximumSizeSet

public boolean isMaximumSizeSet()
Returns true if the maximum size has been set to a non-null value otherwise returns false.

Specified by:
isMaximumSizeSet in interface IComponent
Returns:
true if maximumSize is non-null, false otherwise

getBackground

public IColor getBackground()
Gets the background color of this component.

Specified by:
getBackground in interface IComponent
Returns:
this component's background color; if this component does not have a background color, the background color of its parent is returned
See Also:
IComponent.setBackground(javax.rad.ui.IColor)

setBackground

public void setBackground(IColor pBackground)
Sets the background color of this component.

The background color affects each component differently and the parts of the component that are affected by the background color may differ between operating systems.

Specified by:
setBackground in interface IComponent
Parameters:
pBackground - the color to become this component's color; if this parameter is null, then this component will inherit the background color of its parent
See Also:
IComponent.getBackground()

isBackgroundSet

public boolean isBackgroundSet()
Returns whether the background color has been explicitly set for this Component. If this method returns false, this Component is inheriting its background color from an ancestor.

Specified by:
isBackgroundSet in interface IComponent
Returns:
true if the background color has been explicitly set for this Component; false otherwise.

getForeground

public IColor getForeground()
Gets the foreground color of this component.

Specified by:
getForeground in interface IComponent
Returns:
this component's foreground color; if this component does not have a foreground color, the foreground color of its parent is returned
See Also:
IComponent.setForeground(javax.rad.ui.IColor)

setForeground

public void setForeground(IColor pForeground)
Sets the foreground color of this component.

Specified by:
setForeground in interface IComponent
Parameters:
pForeground - the color to become this component's foreground color; if this parameter is null then this component will inherit the foreground color of its parent
See Also:
IComponent.getForeground()

isForegroundSet

public boolean isForegroundSet()
Returns whether the foreground color has been explicitly set for this Component. If this method returns false, this Component is inheriting its foreground color from an ancestor.

Specified by:
isForegroundSet in interface IComponent
Returns:
true if the foreground color has been explicitly set for this Component; false otherwise.

getCursor

public ICursor getCursor()
Gets the ICursor set in the component. If the component does not have a cursor set, the cursor of its parent is returned. If no cursor is set in the entire hierarchy, Cursor.DEFAULT_CURSOR is returned.

Specified by:
getCursor in interface IComponent
Returns:
the ICursor set in the component
See Also:
IComponent.setCursor(javax.rad.ui.ICursor)

setCursor

public void setCursor(ICursor pCursor)
Sets the cursor image to the specified cursor. This cursor image is displayed when the contains method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of a Container causes that cursor to be displayed within all of the container's subcomponents, except for those that have a non-null cursor.

The method may have no visual effect if the Java platform implementation and/or the native system do not support changing the mouse cursor shape.

Specified by:
setCursor in interface IComponent
Parameters:
pCursor - One of the constants defined by the Cursor class; if this parameter is null then this component will inherit the cursor of its parent
See Also:
IComponent.isEnabled(), IComponent.getCursor(), Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String), ICursor

isCursorSet

public boolean isCursorSet()
Returns whether the cursor has been explicitly set for this Component. If this method returns false, this Component is inheriting its cursor from an ancestor.

Specified by:
isCursorSet in interface IComponent
Returns:
true if the cursor has been explicitly set for this Component; false otherwise.

getFont

public IFont getFont()
Gets the font of this component.

Specified by:
getFont in interface IComponent
Returns:
this component's font; if a font has not been set for this component, the font of its parent is returned
See Also:
IComponent.setFont(javax.rad.ui.IFont)

setFont

public void setFont(IFont pFont)
Sets the IFont of this component.

Specified by:
setFont in interface IComponent
Parameters:
pFont - the IFont to become this component's font; if this parameter is null then this component will inherit the font of its parent
See Also:
IComponent.getFont()

isFontSet

public boolean isFontSet()
Returns whether the font has been explicitly set for this Component. If this method returns false, this Component is inheriting its font from an ancestor.

Specified by:
isFontSet in interface IComponent
Returns:
true if the font has been explicitly set for this Component; false otherwise.

getToolTipText

public String getToolTipText()
Returns the tooltip string that has been set with setToolTipText.

Specified by:
getToolTipText in interface IComponent
Returns:
the text of the tool tip
See Also:
IComponent.setToolTipText(String)

setToolTipText

public void setToolTipText(String pText)
Registers the text to display in a tool tip. The text displays when the cursor lingers over the component.

Specified by:
setToolTipText in interface IComponent
Parameters:
pText - the string to display; if the text is null, the tool tip is turned off for this component

setFocusable

public void setFocusable(boolean pFocusable)
Sets the focusable state of this component to the specified value.

Specified by:
setFocusable in interface IComponent
Parameters:
pFocusable - indicates whether this Component is focusable

isFocusable

public boolean isFocusable()
Returns whether this component can be focused.

Specified by:
isFocusable in interface IComponent
Returns:
true if this Component is focusable, false otherwise.

requestFocus

public void requestFocus()
Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window. This component must be displayable, visible, and focusable for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event. If this request is denied because this Component's top-level Window cannot become the focused Window, the request will be remembered and will be granted when the Window is later focused by the user.

This method cannot be used to set the focus owner to no Component at all. Use KeyboardFocusManager.clearGlobalFocusOwner() instead.

Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to use requestFocusInWindow when possible.

Specified by:
requestFocus in interface IComponent

getParent

public IContainer getParent()
Gets the parent of this component.

Specified by:
getParent in interface IComponent
Returns:
the parent container of this component

setParent

public void setParent(IContainer pParent)
Sets the parent of this component.

Specified by:
setParent in interface IComponent
Parameters:
pParent - the parent container of this component

isVisible

public boolean isVisible()
Determines whether this component should be visible when its parent is visible. Components are initially visible, with the exception of top level components such as Frame objects.

Specified by:
isVisible in interface IComponent
Returns:
true if the component is visible, false otherwise
See Also:
IComponent.setVisible(boolean)

setVisible

public void setVisible(boolean pVisible)
Shows or hides this component depending on the value of parameter b.

Specified by:
setVisible in interface IComponent
Parameters:
pVisible - if true, shows this component; otherwise, hides this component
See Also:
IComponent.isVisible()

setEnabled

public void setEnabled(boolean pEnable)
Enables or disables this component, depending on the value of the parameter pEnable. An enabled component can respond to user input and generate events. Components are enabled initially by default.

Specified by:
setEnabled in interface IComponent
Parameters:
pEnable - if true, this component is enabled; otherwise this component is disabled
See Also:
IComponent.isEnabled()

isEnabled

public boolean isEnabled()
Determines whether this component is enabled. An enabled component can respond to user input and generate events. Components are enabled initially by default. A component may be enabled or disabled by calling its setEnabled method.

Specified by:
isEnabled in interface IComponent
Returns:
true if the component is enabled, false otherwise
See Also:
IComponent.setEnabled(boolean)

getLocationRelativeTo

public IPoint getLocationRelativeTo(IComponent pComponent)
Gets the location relative to the given component.

Specified by:
getLocationRelativeTo in interface IComponent
Parameters:
pComponent - the component in relation to which the window's location is determined.
Returns:
the location.

setLocationRelativeTo

public void setLocationRelativeTo(IComponent pComponent,
                                  IPoint pLocation)
Sets the location relative to the given component.

Specified by:
setLocationRelativeTo in interface IComponent
Parameters:
pComponent - the component in relation to which the window's location is determined.
pLocation - the location.

getLocation

public IPoint getLocation()
Gets the location of this component in the form of a point specifying the component's top-left corner. The location will be relative to the parent's coordinate space.

Due to the asynchronous nature of native event handling, this method can return outdated values (for instance, after several calls of setLocation() in rapid succession). For this reason, the recommended method of obtaining a component's position is within java.awt.event.ComponentListener.componentMoved(), which is called after the operating system has finished moving the component.

Specified by:
getLocation in interface IComponent
Returns:
an instance of IPoint representing the top-left corner of the component's bounds in the coordinate space of the component's parent
See Also:
IComponent.setLocation(IPoint)

setLocation

public void setLocation(IPoint pLocation)
Moves this component to a new location. The top-left corner of the new location is specified by point p. Point p is given in the parent's coordinate space.

Specified by:
setLocation in interface IComponent
Parameters:
pLocation - the point defining the top-left corner of the new location, given in the coordinate space of this component's parent
See Also:
IComponent.getLocation(), IComponent.setBounds(IRectangle)

setLocation

public void setLocation(int pX,
                        int pY)
Set the location with primitive types.

Parameters:
pX - the width.
pY - the width.

getSize

public IDimension getSize()
Returns the size of this component in the form of a IDimension object. The height field of the IDimension object contains this component's height, and the width field of the IDimension object contains this component's width.

Specified by:
getSize in interface IComponent
Returns:
an IDimension object that indicates the size of this component
See Also:
IComponent.setSize(javax.rad.ui.IDimension)

setSize

public void setSize(IDimension pSize)
Resizes this component so that it has width d.width and height d.height.

Specified by:
setSize in interface IComponent
Parameters:
pSize - the IDimension specifying the new size of this component
See Also:
IComponent.setSize(javax.rad.ui.IDimension), IComponent.setBounds(javax.rad.ui.IRectangle)

setSize

public void setSize(int pWidth,
                    int pHeight)
Set the size with primitive types.

Parameters:
pWidth - the width.
pHeight - the height.

getBounds

public IRectangle getBounds()
Gets the bounds of this component in the form of a IRectangle object. The bounds specify this component's width, height, and location relative to its parent.

Specified by:
getBounds in interface IComponent
Returns:
a rectangle indicating this component's bounds
See Also:
IComponent.setBounds(javax.rad.ui.IRectangle), IComponent.getLocation(), IComponent.getSize()

setBounds

public void setBounds(IRectangle pBounds)
Moves and resizes this component to conform to the new bounding rectangle pBounds. This component's new position is specified by pBounds.x and pBounds.y, and its new size is specified by pBounds.width and pBounds.height

Specified by:
setBounds in interface IComponent
Parameters:
pBounds - the new bounding rectangle for this component
See Also:
IComponent.getBounds(), IComponent.setLocation(IPoint), IComponent.setSize(IDimension)

setBounds

public void setBounds(int pX,
                      int pY,
                      int pWidth,
                      int pHeight)
Set the bounds with primitive types.

Parameters:
pX - the width.
pY - the width.
pWidth - the width.
pHeight - the height.

getResource

public Object getResource()
Gets the original resource corresponding with this wrapper object.

Specified by:
getResource in interface IResource
Overrides:
getResource in class UIResource<C extends IComponent>
Returns:
the original resource

getEventSource

public IComponent getEventSource()
Gets the wanted event source for this component. This gives wrapper implementations like genui a simple mechanism to control the source of component events.

Specified by:
getEventSource in interface IComponent
Returns:
the event source

setEventSource

public void setEventSource(IComponent pEventSource)
Sets the wanted event source for this component. This gives wrapper implementations like genui a simple mechanism to control the source of component events.

Specified by:
setEventSource in interface IComponent
Parameters:
pEventSource - the event source

eventMousePressed

public MouseHandler eventMousePressed()
The EventHandler for the mouse pressed event.

Specified by:
eventMousePressed in interface IComponent
Returns:
the EventHandler for the mouse pressed event.

eventMouseReleased

public MouseHandler eventMouseReleased()
The EventHandler for the mouse released event.

Specified by:
eventMouseReleased in interface IComponent
Returns:
the EventHandler for the mouse released event.

eventMouseClicked

public MouseHandler eventMouseClicked()
The EventHandler for the mouse clicked event.

Specified by:
eventMouseClicked in interface IComponent
Returns:
the EventHandler for the mouse clicked event.

eventMouseEntered

public MouseHandler eventMouseEntered()
The EventHandler for the mouse entered event.

Specified by:
eventMouseEntered in interface IComponent
Returns:
the EventHandler for the mouse entered event.

eventMouseExited

public MouseHandler eventMouseExited()
The EventHandler for the mouse exited event.

Specified by:
eventMouseExited in interface IComponent
Returns:
the EventHandler for the mouse exited event.

eventKeyPressed

public KeyHandler eventKeyPressed()
The EventHandler for the key pressed event.

Specified by:
eventKeyPressed in interface IComponent
Returns:
the EventHandler for the key pressed event.

eventKeyReleased

public KeyHandler eventKeyReleased()
The EventHandler for the key released event.

Specified by:
eventKeyReleased in interface IComponent
Returns:
the EventHandler for the key released event.

eventKeyTyped

public KeyHandler eventKeyTyped()
The EventHandler for the key typed event.

Specified by:
eventKeyTyped in interface IComponent
Returns:
the EventHandler for the key typed event.

eventComponentResized

public ComponentHandler eventComponentResized()
The ComponentHandler for the resized event.

Specified by:
eventComponentResized in interface IComponent
Returns:
the ComponentHandler for the resized event.

eventComponentMoved

public ComponentHandler eventComponentMoved()
The ComponentHandler for the moved event.

Specified by:
eventComponentMoved in interface IComponent
Returns:
the ComponentHandler for the moved event.

capture

public IImage capture(int iWidth,
                      int iHeight)
Creates an image/screenshot of the component.

Specified by:
capture in interface IComponent
Parameters:
iWidth - the expected width
iHeight - the expected height
Returns:
the image/screenshot

invokeLater

public static void invokeLater(Runnable pRunnable)
Causes pRunnable.run() to be executed asynchronously on the event dispatching thread. This will happen after all pending events have been processed. This method should be used when an application thread needs to update the GUI.

Parameters:
pRunnable - the asynchronous call
See Also:
invokeAndWait(Runnable)

invokeLater

public static void invokeLater(Object pObject,
                               String pMethod)
Causes pRunnable.run() to be executed asynchronously on the event dispatching thread. This will happen after all pending events have been processed. This method should be used when an application thread needs to update the GUI.

Parameters:
pObject - the object
pMethod - the asynchronous call
See Also:
invokeAndWait(Runnable)

invokeAndWait

public static void invokeAndWait(Runnable pRunnable)
                          throws Exception
Causes pRunnable.run() to be executed synchronously on the event dispatching thread. This call blocks until all pending events have been processed and (then) pRunnable.run() returns. This method should be used when an application thread needs to update the GUI.

Parameters:
pRunnable - the call
Throws:
Exception - if the call caueses an exception

invokeAndWait

public static void invokeAndWait(Object pRunnable,
                                 String pMethod)
                          throws Exception
Causes pRunnable.run() to be executed synchronously on the event dispatching thread. This call blocks until all pending events have been processed and (then) pRunnable.run() returns. This method should be used when an application thread needs to update the GUI.

Parameters:
pRunnable - the object
pMethod - the call
Throws:
Exception - if the call caueses an exception

invokeInThread

public static void invokeInThread(Runnable pRunnable)
Causes pRunnable.run() to be executed asynchronously in a new thread. Action calls and UI Calls in the thread should be synchronized with the event dispatching thread by using invokeLater or invokeAndWait. This gives the IFactory implementation a chance to decide how and when to run the threads.

Parameters:
pRunnable - the call

invokeInThread

public static void invokeInThread(Object pRunnable,
                                  String pMethod)
Causes pRunnable.run() to be executed asynchronously in a new thread. Action calls and UI Calls in the thread should be synchronized with the event dispatching thread by using invokeLater or invokeAndWait. This gives the IFactory implementation a chance to decide how and when to run the threads.

Parameters:
pRunnable - the object
pMethod - the call

createCellFormatter

public static ICellFormatter createCellFormatter(Object pCellFormatter,
                                                 String pMethodName)
Creates a cell formatter instance with the given object and method name.

Parameters:
pCellFormatter - the object.
pMethodName - the method name.
Returns:
the cell formatter.

createNodeFormatter

public static INodeFormatter createNodeFormatter(Object pNodeFormatter,
                                                 String pMethodName)
Creates a node formatter instance with the given object and method name.

Parameters:
pNodeFormatter - the object.
pMethodName - the method name.
Returns:
the cell formatter.

getComponentUIResource

protected IComponent getComponentUIResource()
Gets the component which will be added/removed to an UIContainer instead of this component. Thats needed to create complex Controls. Example Control: an extended Table Control with Toolbar. So a ToolbarPanel with Table inside -> Table is uiResource, ToolbarPanel is the componentUIResource The ToolbarPanel is used for add, so visibility, location, bounds, ... should address the componentUIResource The Table is the control, so focus, enable, font, ... should address the uiResource.

Returns:
the component which should be added/removed

debug

public void debug(Object... pInfo)
Logs debug information.

Parameters:
pInfo - the debug information

info

public void info(Object... pInfo)
Logs information.

Parameters:
pInfo - the information

error

public void error(Object... pInfo)
Logs error information.

Parameters:
pInfo - the error information

beforeAddNotify

public void beforeAddNotify(IComponent pParent)
Invoked before this component is added.

Parameters:
pParent - the parent

isBeforeNotified

public boolean isBeforeNotified()
Gets whether this component is notified before it was added.

Returns:
true this component is notified, false otherwise

addNotify

public void addNotify()
Makes this UIComponent displayable by adding it to an UIContainer. This method is called internally by the genui and should not be called directly.

See Also:
removeNotify(), isNotified()

isNotified

public boolean isNotified()
Determines whether this UIComponent is displayable. A component is displayable when it is added to an UIContainer.

An UIComponent is made displayable either when it is added to a displayable containment hierarchy or when its containment hierarchy is made displayable. A containment hierarchy is made displayable when its ancestor UIWindow is either packed or made visible.

An UIComponent is made undisplayable either when it is removed from a displayable containment hierarchy or when its containment hierarchy is made undisplayable. A containment hierarchy is made undisplayable when its ancestor UIWindow is disposed.

Returns:
true if the component is displayable, false otherwise
See Also:
UIContainer.add(IComponent, Object, int), UIContainer.remove(int), AbstractWindow.setVisible(boolean), AbstractWindow.pack(), AbstractWindow.dispose()

removeNotify

public void removeNotify()
Makes this UIComponent undisplayable by removing it to an UIContainer.

This method is called by the genui internally and should not be called directly. Code overriding this method should call super.removeNotify as the first line of the overriding method.

See Also:
addNotify(), isNotified()

setTranslation

public void setTranslation(TranslationMap pTranslation)
Sets the possible translations for this UIComponent.

Specified by:
setTranslation in interface ITranslatable
Parameters:
pTranslation - the translation mapping

getTranslation

public TranslationMap getTranslation()
Gets the possible translation mapping for this UIComponent.

Specified by:
getTranslation in interface ITranslatable
Returns:
the translation mappint

setTranslationEnabled

public void setTranslationEnabled(boolean pEnabled)
Sets the translation en- or disabled for this component.

Parameters:
pEnabled - true to enable the translation, false to disable

isTranslationEnabled

public boolean isTranslationEnabled()
Gets whether the translation is en- or disabled.

Returns:
true if translation is performed, false otherwise

getCurrentTranslation

protected TranslationMap getCurrentTranslation()
Gets the current translation mapping usable for this UIComponent.

Returns:
the current translation mapping

translate

public String translate(String pText)
Translates the given text with the avaliable translation. If this component has no translation, then the translation from the parent component will be used.

Parameters:
pText - the text to translate
Returns:
the translated text or pText if no translation was found

updateTranslation

public void updateTranslation()
Notification for updating the translation. This method will be called when the UIComponent will be added to a displayable containment hierarchy, when its containment hierarchy is made displayable or the translation table will be changed.

See Also:
setTranslation(TranslationMap), addNotify()

isTranslationChanged

protected boolean isTranslationChanged()
Gets whether the translation was changed.

Returns:
true if translation was changed, false otherwise


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.