net.miginfocom.layout

Interface ComponentWrapper

public interface ComponentWrapper

A class that wraps the important parts of a Component.

NOTE!.equals() and .hashcode() should be shunted to the wrapped component. E.g.

 	public int hashCode()
	{
		return getComponent().hashCode();
	}

	public final boolean equals(Object o)
	{
		 if (o instanceof ComponentWrapper == false)
			 return false;

		 return getComponent().equals(((ComponentWrapper) o).getComponent());
	}
 
Field Summary
static intTYPE_BUTTON
static intTYPE_CHECK_BOX
static intTYPE_COMBO_BOX
static intTYPE_CONTAINER
static intTYPE_IMAGE
static intTYPE_LABEL
static intTYPE_LIST
static intTYPE_PANEL
static intTYPE_PROGRESS_BAR
static intTYPE_SCROLL_BAR
static intTYPE_SCROLL_PANE
static intTYPE_SEPARATOR
static intTYPE_SLIDER
static intTYPE_SPINNER
static intTYPE_TABLE
static intTYPE_TEXT_AREA
static intTYPE_TEXT_FIELD
static intTYPE_TREE
static intTYPE_UNKNOWN
static intTYPE_UNSET
Method Summary
abstract intgetBaseline(int width, int height)
Returns the baseline for the component given the suggested height.
abstract ObjectgetComponent()
Returns the actual object that this wrapper is aggregating.
abstract intgetComponetType(boolean disregardScrollPane)
Returns the type of component that this wrapper is wrapping.
abstract intgetHeight()
Returns the current height for this component.
abstract intgetHorizontalScreenDPI()
Returns the DPI (Dots Per Inch) of the screen the component is currently in or for the default screen if the component is not visible.
abstract intgetLayoutHashCode()
Returns a hash code that should be reasonably different for anything that might change the layout.
abstract StringgetLinkId()
Returns a String id that can be used to reference the component in link constraints.
abstract intgetMaximumHeight(int wHint)
Returns the maximum height of the component.
abstract intgetMaximumWidth(int hHint)
Returns the maximum width of the component.
abstract intgetMinimumHeight(int wHint)
Returns the minimum height of the component.
abstract intgetMinimumWidth(int hHint)
Returns the minimum width of the component.
abstract ContainerWrappergetParent()
Returns the container for this component.
abstract floatgetPixelUnitFactor(boolean isHor)
Returns the pixel unit factor for the horizontal or vertical dimension.
abstract intgetPreferredHeight(int wHint)
Returns the preferred height of the component.
abstract intgetPreferredWidth(int hHint)
Returns the preferred width of the component.
abstract intgetScreenHeight()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible or null.
abstract intgetScreenLocationX()
Returns the screen x-coordinate for the upper left coordinate of the component layout-able bounds.
abstract intgetScreenLocationY()
Returns the screen y-coordinate for the upper left coordinate of the component layout-able bounds.
abstract intgetScreenWidth()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible or null.
abstract intgetVerticalScreenDPI()
Returns the DPI (Dots Per Inch) of the screen the component is currently in or for the default screen if the component is not visible.
int[]getVisualPadding()
Returns the padding on a component by component basis.
abstract intgetWidth()
Returns the current width for this component.
abstract intgetX()
Returns the current x coordinate for this component.
abstract intgetY()
Returns the current y coordinate for this component.
abstract booleanhasBaseline()
Returns if the component has a baseline and if it can be retrieved.
abstract booleanisVisible()
Returns if the component's visibility is set to true.
abstract voidpaintDebugOutline()
Paints component outline to indicate where it is.
abstract voidsetBounds(int x, int y, int width, int height)
Sets the component's bounds.

Field Detail

TYPE_BUTTON

public static final int TYPE_BUTTON

TYPE_CHECK_BOX

public static final int TYPE_CHECK_BOX

TYPE_COMBO_BOX

public static final int TYPE_COMBO_BOX

TYPE_CONTAINER

public static final int TYPE_CONTAINER

TYPE_IMAGE

public static final int TYPE_IMAGE

TYPE_LABEL

public static final int TYPE_LABEL

TYPE_LIST

public static final int TYPE_LIST

TYPE_PANEL

public static final int TYPE_PANEL

TYPE_PROGRESS_BAR

public static final int TYPE_PROGRESS_BAR

TYPE_SCROLL_BAR

public static final int TYPE_SCROLL_BAR

TYPE_SCROLL_PANE

public static final int TYPE_SCROLL_PANE

TYPE_SEPARATOR

public static final int TYPE_SEPARATOR

TYPE_SLIDER

public static final int TYPE_SLIDER

TYPE_SPINNER

public static final int TYPE_SPINNER

TYPE_TABLE

public static final int TYPE_TABLE

TYPE_TEXT_AREA

public static final int TYPE_TEXT_AREA

TYPE_TEXT_FIELD

public static final int TYPE_TEXT_FIELD

TYPE_TREE

public static final int TYPE_TREE

TYPE_UNKNOWN

public static final int TYPE_UNKNOWN

TYPE_UNSET

public static final int TYPE_UNSET

Method Detail

getBaseline

public abstract int getBaseline(int width, int height)
Returns the baseline for the component given the suggested height.

Parameters: width The width to calculate for if other than the current. If -1 the current size should be used. height The height to calculate for if other than the current. If -1 the current size should be used.

Returns: The baseline from the top or -1 if not applicable.

getComponent

public abstract Object getComponent()
Returns the actual object that this wrapper is aggregating. This might be needed for getting information about the object that the wrapper interface does not provide.

If this is a container the container should be returned instead.

Returns: The actual object that this wrapper is aggregating. Not null.

getComponetType

public abstract int getComponetType(boolean disregardScrollPane)
Returns the type of component that this wrapper is wrapping.

This method can be invoked often so the result should be cached.

NOTE! This is misspelled. Keeping it that way though since this is only used by developers who port MigLayout.

Parameters: disregardScrollPane Is true any wrapping scroll pane should be disregarded and the type of the scrolled component should be returned.

Returns: The type of component that this wrapper is wrapping. E.g. TYPE_LABEL.

getHeight

public abstract int getHeight()
Returns the current height for this component.

Returns: The current height for this component.

getHorizontalScreenDPI

public abstract int getHorizontalScreenDPI()
Returns the DPI (Dots Per Inch) of the screen the component is currently in or for the default screen if the component is not visible.

If headless mode PlatformDefaults will be returned.

Returns: The DPI.

getLayoutHashCode

public abstract int getLayoutHashCode()
Returns a hash code that should be reasonably different for anything that might change the layout. This value is used to know if the component layout needs to clear any caches.

Returns: A hash code that should be reasonably different for anything that might change the layout. Returns -1 if the widget is disposed.

getLinkId

public abstract String getLinkId()
Returns a String id that can be used to reference the component in link constraints. This value should return the default id for the component. The id can be set for a component in the constraints and if so the value returned by this method will never be used. If there are no sensible id for the component null should be returned.

For instance the Swing implementation returns the string returned from Component.getName().

Returns: The string link id or null.

getMaximumHeight

public abstract int getMaximumHeight(int wHint)
Returns the maximum height of the component.

Parameters: wHint The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.

Returns: The maximum height of the component.

Since: 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.

getMaximumWidth

public abstract int getMaximumWidth(int hHint)
Returns the maximum width of the component.

Parameters: hHint The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.

Returns: The maximum width of the component.

Since: 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.

getMinimumHeight

public abstract int getMinimumHeight(int wHint)
Returns the minimum height of the component.

Parameters: wHint The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.

Returns: The minimum height of the component.

Since: 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.

getMinimumWidth

public abstract int getMinimumWidth(int hHint)
Returns the minimum width of the component.

Parameters: hHint The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.

Returns: The minimum width of the component.

Since: 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.

getParent

public abstract ContainerWrapper getParent()
Returns the container for this component.

Returns: The container for this component. Will return null if the component has no parent.

getPixelUnitFactor

public abstract float getPixelUnitFactor(boolean isHor)
Returns the pixel unit factor for the horizontal or vertical dimension.

The factor is 1 for both dimensions on the normal font in a JPanel on Windows. The factor should increase with a bigger "X".

This is the Swing version:

 Rectangle2D r = fm.getStringBounds("X", parent.getGraphics());
 wFactor = r.getWidth() / 6;
 hFactor = r.getHeight() / 13.27734375f;
 

Parameters: isHor If it is the horizontal factor that should be returned.

Returns: The factor.

getPreferredHeight

public abstract int getPreferredHeight(int wHint)
Returns the preferred height of the component.

Parameters: wHint The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.

Returns: The preferred height of the component.

Since: 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.

getPreferredWidth

public abstract int getPreferredWidth(int hHint)
Returns the preferred width of the component.

Parameters: hHint The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.

Returns: The preferred width of the component.

Since: 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.

getScreenHeight

public abstract int getScreenHeight()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible or null.

If in headless mode 768 is returned.

Returns: The screen size. E.g. 1024.

getScreenLocationX

public abstract int getScreenLocationX()
Returns the screen x-coordinate for the upper left coordinate of the component layout-able bounds.

Returns: The screen x-coordinate for the upper left coordinate of the component layout-able bounds.

getScreenLocationY

public abstract int getScreenLocationY()
Returns the screen y-coordinate for the upper left coordinate of the component layout-able bounds.

Returns: The screen y-coordinate for the upper left coordinate of the component layout-able bounds.

getScreenWidth

public abstract int getScreenWidth()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible or null.

If in headless mode 1024 is returned.

Returns: The screen size. E.g. 1280.

getVerticalScreenDPI

public abstract int getVerticalScreenDPI()
Returns the DPI (Dots Per Inch) of the screen the component is currently in or for the default screen if the component is not visible.

If headless mode PlatformDefaults will be returned.

Returns: The DPI.

getVisualPadding

public int[] getVisualPadding()
Returns the padding on a component by component basis. This method can be overridden to return padding to compensate for example for borders that have shadows or where the outer most pixel is not the visual "edge" to align to.

Default implementation returns null for all components except for Windows XP's JTabbedPane which will return new Insets(0, 0, 2, 2).

NOTE! To reduce generated garbage the returned padding should never be changed so that the same insets can be returned many times.

Returns: null if no padding. NOTE! To reduce generated garbage the returned padding should never be changed so that the same insets can be returned many times. [top, left, bottom, right]

getWidth

public abstract int getWidth()
Returns the current width for this component.

Returns: The current width for this component.

getX

public abstract int getX()
Returns the current x coordinate for this component.

Returns: The current x coordinate for this component.

getY

public abstract int getY()
Returns the current y coordinate for this component.

Returns: The current y coordinate for this component.

hasBaseline

public abstract boolean hasBaseline()
Returns if the component has a baseline and if it can be retrieved. Should for instance return false for Swing before mustang.

Returns: If the component has a baseline and if it can be retrieved.

isVisible

public abstract boolean isVisible()
Returns if the component's visibility is set to true. This should not return if the component is actually visible, but if the visibility is set to true or not.

Returns: true means visible.

paintDebugOutline

public abstract void paintDebugOutline()
Paints component outline to indicate where it is.

setBounds

public abstract void setBounds(int x, int y, int width, int height)
Sets the component's bounds.

Parameters: x The x coordinate. y The y coordinate. width The width. height The height.