Class DefaultOverlayable

  • All Implemented Interfaces:
    Overlayable, java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.SwingConstants

    public class DefaultOverlayable
    extends javax.swing.JPanel
    implements Overlayable, java.awt.event.ComponentListener
    DefaultOverlayable is the default implementation of Overlayable using JPanel as the base component.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.SwingConstants

        BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultOverlayable()  
      DefaultOverlayable​(javax.swing.JComponent component)  
      DefaultOverlayable​(javax.swing.JComponent actualComponent, javax.swing.JComponent overlayComponent)  
      DefaultOverlayable​(javax.swing.JComponent actualComponent, javax.swing.JComponent overlayComponent, int overlayLocation)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addOverlayComponent​(javax.swing.JComponent component)
      Adds an overlay component to the center.
      void addOverlayComponent​(javax.swing.JComponent component, int location)
      Adds an overlay component at the specified location.
      void addOverlayComponent​(javax.swing.JComponent component, int location, int index)
      Adds an overlay component at the specified location.
      void componentHidden​(java.awt.event.ComponentEvent e)  
      void componentMoved​(java.awt.event.ComponentEvent e)  
      void componentResized​(java.awt.event.ComponentEvent e)  
      void componentShown​(java.awt.event.ComponentEvent e)  
      javax.swing.JComponent getActualComponent()  
      java.awt.Dimension getMinimumSize()  
      protected java.awt.Rectangle getOverlayComponentBounds​(javax.swing.JComponent component)
      Gets the bounds of an overlay component.
      javax.swing.JComponent[] getOverlayComponents()
      Gets the overlay component.
      int getOverlayLocation​(javax.swing.JComponent component)
      Gets the overlay component location.
      java.awt.Insets getOverlayLocationInsets()
      Gets the insets of the overlay component relative to the border of the component.
      java.awt.Dimension getPreferredSize()
      Override to consider the overlayLocationInsets.
      void removeOverlayComponent​(javax.swing.JComponent component)
      Removes an overlay component that was added before.
      void setActualComponent​(javax.swing.JComponent actualComponent)  
      void setBounds​(int x, int y, int width, int height)  
      void setMinimumSize​(java.awt.Dimension minimumSize)  
      void setOverlayLocation​(javax.swing.JComponent component, int location)
      Sets the overlay component location.
      void setOverlayLocationInsets​(java.awt.Insets overlayLocationInsets)
      Sets the insets of the overlay component relative to the border of the component.
      void setOverlayVisible​(boolean visible)
      Sets all the overlay components visible or invisible.
      void setPreferredSize​(java.awt.Dimension preferredSize)  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • DefaultOverlayable

        public DefaultOverlayable()
      • DefaultOverlayable

        public DefaultOverlayable​(javax.swing.JComponent component)
      • DefaultOverlayable

        public DefaultOverlayable​(javax.swing.JComponent actualComponent,
                                  javax.swing.JComponent overlayComponent,
                                  int overlayLocation)
      • DefaultOverlayable

        public DefaultOverlayable​(javax.swing.JComponent actualComponent,
                                  javax.swing.JComponent overlayComponent)
    • Method Detail

      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Override to consider the overlayLocationInsets. If the overlayLocationInsets's edges are positive number, we will increase the preferred size so that the overlayo component can be shown. If they are negative, we will still keep the super.getPreferredSize.
        Overrides:
        getPreferredSize in class javax.swing.JComponent
        Returns:
        the preferred size of the DefaultOverlayable.
      • setPreferredSize

        public void setPreferredSize​(java.awt.Dimension preferredSize)
        Overrides:
        setPreferredSize in class javax.swing.JComponent
      • getMinimumSize

        public java.awt.Dimension getMinimumSize()
        Overrides:
        getMinimumSize in class javax.swing.JComponent
      • setMinimumSize

        public void setMinimumSize​(java.awt.Dimension minimumSize)
        Overrides:
        setMinimumSize in class javax.swing.JComponent
      • setBounds

        public void setBounds​(int x,
                              int y,
                              int width,
                              int height)
        Overrides:
        setBounds in class java.awt.Component
      • getOverlayComponentBounds

        protected java.awt.Rectangle getOverlayComponentBounds​(javax.swing.JComponent component)
        Gets the bounds of an overlay component.
        Parameters:
        component - an overlay component
        Returns:
        the bounds of the overlay component.
      • getOverlayLocation

        public int getOverlayLocation​(javax.swing.JComponent component)
        Description copied from interface: Overlayable
        Gets the overlay component location. If -1, it means the component doesn't exit.
        Specified by:
        getOverlayLocation in interface Overlayable
        Returns:
        the overlay component location.
      • setOverlayLocation

        public void setOverlayLocation​(javax.swing.JComponent component,
                                       int location)
        Description copied from interface: Overlayable
        Sets the overlay component location. The valid values are defined in SwingConstants. They are
        • SwingConstants.CENTER
        • SwingConstants.SOUTH
        • SwingConstants.NORTH
        • SwingConstants.WEST
        • SwingConstants.EAST
        • SwingConstants.NORTH_EAST
        • SwingConstants.NORTH_WEST
        • SwingConstants.SOUTH_EAST
        • SwingConstants.SOUTH_WEST
        Specified by:
        setOverlayLocation in interface Overlayable
        location - the overlay component location.
      • addOverlayComponent

        public void addOverlayComponent​(javax.swing.JComponent component)
        Description copied from interface: Overlayable
        Adds an overlay component to the center.
        Specified by:
        addOverlayComponent in interface Overlayable
        Parameters:
        component - the overlay component.
      • addOverlayComponent

        public void addOverlayComponent​(javax.swing.JComponent component,
                                        int location)
        Description copied from interface: Overlayable
        Adds an overlay component at the specified location. The location could be one of the following values.
        • SwingConstants.CENTER
        • SwingConstants.SOUTH
        • SwingConstants.NORTH
        • SwingConstants.WEST
        • SwingConstants.EAST
        • SwingConstants.NORTH_EAST
        • SwingConstants.NORTH_WEST
        • SwingConstants.SOUTH_EAST
        • SwingConstants.SOUTH_WEST
        Specified by:
        addOverlayComponent in interface Overlayable
        Parameters:
        component - the overlay component.
        location - the overlay location.
      • addOverlayComponent

        public void addOverlayComponent​(javax.swing.JComponent component,
                                        int location,
                                        int index)
        Description copied from interface: Overlayable
        Adds an overlay component at the specified location. The location could be one of the following values.
        • SwingConstants.CENTER
        • SwingConstants.SOUTH
        • SwingConstants.NORTH
        • SwingConstants.WEST
        • SwingConstants.EAST
        • SwingConstants.NORTH_EAST
        • SwingConstants.NORTH_WEST
        • SwingConstants.SOUTH_EAST
        • SwingConstants.SOUTH_WEST
        Specified by:
        addOverlayComponent in interface Overlayable
        Parameters:
        component - the overlay component.
        location - the overlay location.
        index - the overlay index. 0 means the first overlay component. -1 means the last overlay component.
      • removeOverlayComponent

        public void removeOverlayComponent​(javax.swing.JComponent component)
        Description copied from interface: Overlayable
        Removes an overlay component that was added before.
        Specified by:
        removeOverlayComponent in interface Overlayable
      • getOverlayComponents

        public javax.swing.JComponent[] getOverlayComponents()
        Description copied from interface: Overlayable
        Gets the overlay component.
        Specified by:
        getOverlayComponents in interface Overlayable
        Returns:
        the overlay component.
      • getActualComponent

        public javax.swing.JComponent getActualComponent()
      • setActualComponent

        public void setActualComponent​(javax.swing.JComponent actualComponent)
      • getOverlayLocationInsets

        public java.awt.Insets getOverlayLocationInsets()
        Description copied from interface: Overlayable
        Gets the insets of the overlay component relative to the border of the component. This will affect the actual location of the overlay component except CENTER. If an edge of the insets is greater than 0, it will move the overlay component outwards on that edge. On the opposite, if the value is negative, it will move inward.
        Specified by:
        getOverlayLocationInsets in interface Overlayable
        Returns:
        the insets of the overlay component relative to the border of the component.
      • setOverlayLocationInsets

        public void setOverlayLocationInsets​(java.awt.Insets overlayLocationInsets)
        Description copied from interface: Overlayable
        Sets the insets of the overlay component relative to the border of the component.
        Specified by:
        setOverlayLocationInsets in interface Overlayable
        Parameters:
        overlayLocationInsets - the insets of the overlay component relative to the border of the component.
      • setOverlayVisible

        public void setOverlayVisible​(boolean visible)
        Description copied from interface: Overlayable
        Sets all the overlay components visible or invisible. If you want to set one overlay component visible/invisible, you just need to call setVisible of that component.
        Specified by:
        setOverlayVisible in interface Overlayable
        Parameters:
        visible - true to set it visible. False to invisible.
      • componentResized

        public void componentResized​(java.awt.event.ComponentEvent e)
        Specified by:
        componentResized in interface java.awt.event.ComponentListener
      • componentMoved

        public void componentMoved​(java.awt.event.ComponentEvent e)
        Specified by:
        componentMoved in interface java.awt.event.ComponentListener
      • componentShown

        public void componentShown​(java.awt.event.ComponentEvent e)
        Specified by:
        componentShown in interface java.awt.event.ComponentListener
      • componentHidden

        public void componentHidden​(java.awt.event.ComponentEvent e)
        Specified by:
        componentHidden in interface java.awt.event.ComponentListener