Class VisualMargin

  • All Implemented Interfaces:
    Serializable, Border, UIResource

    public class VisualMargin
    extends AbstractBorder
    implements UIResource
    The VisualMargin is used to visually align components using bounds based on other criterias than the clip bounds of the component. For example: The clip bounds of a JButton includes its cast shadow and its focus ring. When we align the JButton with a JLabel, we want to align the baseline of the Text of the JButton with the text in the JLabel. The visual margin may be quite large. We allow to programmatically set a smaller margin using the client property "Quaqua.Component.margin".
    See Also:
    Serialized Form
    • Constructor Detail

      • VisualMargin

        public VisualMargin()
        Creates a new VisualMargin.
      • VisualMargin

        public VisualMargin​(int top,
                            int left,
                            int bottom,
                            int right)
        Creates a new VisualMargin.
        Parameters:
        top - Defines the margin from the clip bounds of the component to its visual bounds.
        left - Defines the margin from the clip bounds of the component to its visual bounds.
        bottom - Defines the margin from the clip bounds of the component to its visual bounds.
        right - Defines the margin from the clip bounds of the component to its visual bounds.
      • VisualMargin

        public VisualMargin​(int top,
                            int left,
                            int bottom,
                            int right,
                            boolean ftop,
                            boolean fleft,
                            boolean fbottom,
                            boolean fright)
      • VisualMargin

        public VisualMargin​(boolean ftop,
                            boolean fleft,
                            boolean fbottom,
                            boolean fright)
      • VisualMargin

        public VisualMargin​(Insets layoutMargin)
        Creates a new VisualMargin.
        Parameters:
        layoutMargin - Defines the margin from the clip bounds of the component to its visual bounds. The margin has usually negative values!
    • Method Detail

      • setPropertyName

        public void setPropertyName​(String propertyName)
        The UIManager Property to be used for the default margin.
      • setFixed

        public void setFixed​(boolean top,
                             boolean left,
                             boolean bottom,
                             boolean right)
      • getBorderInsets

        public Insets getBorderInsets​(Component c,
                                      Insets insets)
        Reinitializes the insets parameter with this Border's current Insets.
        Overrides:
        getBorderInsets in class AbstractBorder
        Parameters:
        c - the component for which this border insets value applies
        insets - the object to be reinitialized
        Returns:
        the insets object
      • getVisualMargin

        protected Insets getVisualMargin​(Component c,
                                         Insets insets)
        Reinitializes the insets parameter with this Border's current Insets.
        Parameters:
        c - the component for which this border insets value applies
        insets - the object to be reinitialized
        Returns:
        the insets object