Interface ComponentWrapper

All Known Subinterfaces:
ContainerWrapper

public interface ComponentWrapper

A class that wraps the important parts of a Component.

NOTE!.equals() and .hashcode() should be forwarded 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

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    getBaseline(int width, int height)
    Returns the baseline for the component given the suggested height.
    Returns the actual object that this wrapper is aggregating.
    int
    getComponentType(boolean disregardScrollPane)
    Returns the type of component that this wrapper is wrapping.
    int
    Returns in what way the min/pref/max sizes relates to it's height or width for the current settings of the component (like wrapText).
    int
    Returns the current height for this component.
    int
    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
    Returns a hash code that should be reasonably different for anything that might change the layout.
    Returns a String id that can be used to reference the component in link constraints.
    int
    getMaximumHeight(int wHint)
    Returns the maximum height of the component.
    int
    getMaximumWidth(int hHint)
    Returns the maximum width of the component.
    int
    getMinimumHeight(int wHint)
    Returns the minimum height of the component.
    int
    getMinimumWidth(int hHint)
    Returns the minimum width of the component.
    Returns the container for this component.
    float
    getPixelUnitFactor(boolean isHor)
    Returns the pixel unit factor for the horizontal or vertical dimension.
    int
    getPreferredHeight(int wHint)
    Returns the preferred height of the component.
    int
    getPreferredWidth(int hHint)
    Returns the preferred width of the component.
    int
    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.
    int
    Returns the screen x-coordinate for the upper left coordinate of the component layout-able bounds.
    int
    Returns the screen y-coordinate for the upper left coordinate of the component layout-able bounds.
    int
    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.
    int
    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[]
    Returns the padding on a component by component basis.
    int
    Returns the current width for this component.
    int
    Returns the current x coordinate for this component.
    int
    Returns the current y coordinate for this component.
    boolean
    Returns if the component has a baseline and if it can be retrieved.
    boolean
    Returns if the component's visibility is set to true.
    void
    paintDebugOutline(boolean showVisualPadding)
    Paints component outline to indicate where it is.
    void
    setBounds(int x, int y, int width, int height)
    Sets the component's bounds.
  • Field Details

  • Method Details

    • getComponent

      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.

    • getX

      int getX()

      Returns the current x coordinate for this component.

      Returns

      The current x coordinate for this component.

    • getY

      int getY()

      Returns the current y coordinate for this component.

      Returns

      The current y coordinate for this component.

    • getWidth

      int getWidth()

      Returns the current width for this component.

      Returns

      The current width for this component.

    • getHeight

      int getHeight()

      Returns the current height for this component.

      Returns

      The current height for this component.

    • getScreenLocationX

      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

      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.

    • getMinimumWidth

      int getMinimumWidth(int hHint)

      Returns the minimum width of the component.

      Parameters
      • hHint: @param 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
      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

      int getMinimumHeight(int wHint)

      Returns the minimum height of the component.

      Parameters
      • wHint: @param 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
      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

      int getPreferredWidth(int hHint)

      Returns the preferred width of the component.

      Parameters
      • hHint: @param 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
      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.
    • getPreferredHeight

      int getPreferredHeight(int wHint)

      Returns the preferred height of the component.

      Parameters
      • wHint: @param 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
      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

      int getMaximumWidth(int hHint)

      Returns the maximum width of the component.

      Parameters
      • hHint: @param 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
      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.
    • getMaximumHeight

      int getMaximumHeight(int wHint)

      Returns the maximum height of the component.

      Parameters
      • wHint: @param 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
      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.
    • setBounds

      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.

    • isVisible

      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.

    • getBaseline

      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.

    • hasBaseline

      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.

    • getParent

      ContainerWrapper getParent()

      Returns the container for this component.

      Returns

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

    • getPixelUnitFactor

      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.

    • getHorizontalScreenDPI

      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 net.miginfocom.layout.PlatformDefaults#getDefaultDPI will be returned.

      Returns

      The DPI.

    • getVerticalScreenDPI

      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 net.miginfocom.layout.PlatformDefaults#getDefaultDPI will be returned.

      Returns

      The DPI.

    • getScreenWidth

      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.

    • getScreenHeight

      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.

    • getLinkId

      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.

    • getLayoutHashCode

      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
      Returns:
      A hash code that should be reasonably different for anything that might change the layout. Returns -1 if the widget is disposed.
    • getVisualPadding

      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
      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]
    • paintDebugOutline

      void paintDebugOutline(boolean showVisualPadding)

      Paints component outline to indicate where it is.

      Parameters
      • showVisualPadding: If the visual padding should be shown in the debug drawing.
    • getComponentType

      int getComponentType(boolean disregardScrollPane)

      Returns the type of component that this wrapper is wrapping.

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

      Parameters
      • disregardScrollPane: @param 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.

    • getContentBias

      int getContentBias()

      Returns in what way the min/pref/max sizes relates to it's height or width for the current settings of the component (like wrapText). If the min/pref/max height depends on it's width return net.miginfocom.layout.LayoutUtil#HORIZONTAL If the min/pref/max width depends on it's height (not common) return net.miginfocom.layout.LayoutUtil#VERTICAL If there is no connection between the preferred min/pref/max and the size of the component return -1.

      Since

      5.0