Class BlockingLayerUI

java.lang.Object
javax.swing.plaf.ComponentUI
org.jdesktop.jxlayer.plaf.LayerUI<V>
org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
jaxx.runtime.swing.BlockingLayerUI
All Implemented Interfaces:
java.io.Serializable

public class BlockingLayerUI
extends org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
A JXLayer ui implementation that permits to block a component but still allow an action when clicking on the right-top icon painted on the layer. You can change the blocking and accepting icon. To hook an click on the layer's icon, you can :
Since:
1.2
Author:
Tony Chemit - chemit@codelutin.com
See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String ACCEPT_ICON_PROPERTY  
    protected javax.swing.Action acceptAction
    Action to be treated when click on icon
    protected java.util.Set<java.lang.String> acceptedComponentNames
    Extra components names to accept even in block mode
    protected java.util.Set<java.lang.Class<?>> acceptedComponentTypes
    Extra components types to accept even in block mode
    protected java.awt.image.BufferedImage acceptIcon
    Icon when you can click
    protected boolean block
    Internal state when should block event and paint layer
    static java.lang.String BLOCK_ICON_PROPERTY  
    static java.lang.String BLOCK_PROPERTY  
    protected java.awt.image.BufferedImage blockIcon
    Icon when you can not click
    protected java.awt.Color blockingColor
    Optinal color to put fill background when blocking
    static java.lang.String CAN_CLICK_PROPERTY  
    protected boolean canClick
    Internal state to known when we can accept click
    protected boolean useIcon
    A flag to enable or disable the use of the icon.
  • Constructor Summary

    Constructors
    Constructor Description
    BlockingLayerUI()  
  • Method Summary

    Modifier and Type Method Description
    protected void acceptEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    protected boolean acceptEventOrConsumeIt​(java.awt.event.InputEvent e)  
    BlockingLayerUI clone()  
    protected java.awt.image.BufferedImage getAcceptIcon()  
    java.awt.image.BufferedImage getBlockIcon()  
    protected java.awt.image.BufferedImage getCurrentIcon()  
    boolean isCanClick()  
    protected void paintLayer​(java.awt.Graphics2D g2, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    protected java.awt.image.BufferedImage prepareIcon​(javax.swing.ImageIcon image)  
    protected void processKeyEvent​(java.awt.event.KeyEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    protected void processMouseEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    protected void processMouseMotionEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    protected void processMouseWheelEvent​(java.awt.event.MouseWheelEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    void setAcceptAction​(javax.swing.Action acceptAction)  
    void setAcceptedComponentNames​(java.lang.String... acceptedComponentNames)  
    void setAcceptedComponentTypes​(java.lang.Class<?>... acceptedComponentTypes)  
    void setAcceptIcon​(javax.swing.ImageIcon acceptIcon)  
    void setBlock​(boolean block)  
    void setBlockIcon​(java.awt.image.BufferedImage blockIcon)  
    void setBlockIcon​(javax.swing.ImageIcon blockIcon)  
    void setBlockingColor​(java.awt.Color blockingColor)  
    void setCanClick​(boolean canClick)  
    void setDirty​(boolean isDirty)  
    void setUseIcon​(boolean useIcon)  
    protected void updateCanClickState​(org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l, java.awt.event.MouseEvent e)  

    Methods inherited from class org.jdesktop.jxlayer.plaf.AbstractLayerUI

    configureGraphics, eventDispatched, getClip, getComposite, getLayerEventMask, getRenderingHints, getTransform, handlePropertyChangeEvent, installUI, isDirty, paint, processFocusEvent, uninstallUI

    Methods inherited from class org.jdesktop.jxlayer.plaf.LayerUI

    addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, getPreferredScrollableViewportSize, getPropertyChangeListeners, getPropertyChangeListeners, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, removePropertyChangeListener, removePropertyChangeListener, updateUI

    Methods inherited from class javax.swing.plaf.ComponentUI

    contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, update

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • CAN_CLICK_PROPERTY

      public static final java.lang.String CAN_CLICK_PROPERTY
      See Also:
      Constant Field Values
    • ACCEPT_ICON_PROPERTY

      public static final java.lang.String ACCEPT_ICON_PROPERTY
      See Also:
      Constant Field Values
    • BLOCK_ICON_PROPERTY

      public static final java.lang.String BLOCK_ICON_PROPERTY
      See Also:
      Constant Field Values
    • BLOCK_PROPERTY

      public static final java.lang.String BLOCK_PROPERTY
      See Also:
      Constant Field Values
    • acceptAction

      protected javax.swing.Action acceptAction
      Action to be treated when click on icon
    • blockIcon

      protected java.awt.image.BufferedImage blockIcon
      Icon when you can not click
    • acceptIcon

      protected java.awt.image.BufferedImage acceptIcon
      Icon when you can click
    • blockingColor

      protected java.awt.Color blockingColor
      Optinal color to put fill background when blocking
    • canClick

      protected boolean canClick
      Internal state to known when we can accept click
    • useIcon

      protected boolean useIcon
      A flag to enable or disable the use of the icon. If set to false, no icon will be displayed and no action will be possible. By default, this is active.
    • block

      protected boolean block
      Internal state when should block event and paint layer
    • acceptedComponentNames

      protected final java.util.Set<java.lang.String> acceptedComponentNames
      Extra components names to accept even in block mode
    • acceptedComponentTypes

      protected final java.util.Set<java.lang.Class<?>> acceptedComponentTypes
      Extra components types to accept even in block mode
  • Constructor Details

    • BlockingLayerUI

      public BlockingLayerUI()
  • Method Details

    • setAcceptedComponentNames

      public void setAcceptedComponentNames​(java.lang.String... acceptedComponentNames)
    • setAcceptedComponentTypes

      public void setAcceptedComponentTypes​(java.lang.Class<?>... acceptedComponentTypes)
    • setAcceptAction

      public void setAcceptAction​(javax.swing.Action acceptAction)
    • setAcceptIcon

      public void setAcceptIcon​(javax.swing.ImageIcon acceptIcon)
    • setBlockIcon

      public void setBlockIcon​(javax.swing.ImageIcon blockIcon)
    • setCanClick

      public void setCanClick​(boolean canClick)
    • setBlock

      public void setBlock​(boolean block)
    • setDirty

      public void setDirty​(boolean isDirty)
      Overrides:
      setDirty in class org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
    • setBlockIcon

      public void setBlockIcon​(java.awt.image.BufferedImage blockIcon)
    • setBlockingColor

      public void setBlockingColor​(java.awt.Color blockingColor)
    • getBlockIcon

      public java.awt.image.BufferedImage getBlockIcon()
    • getAcceptIcon

      protected java.awt.image.BufferedImage getAcceptIcon()
    • isCanClick

      public boolean isCanClick()
    • setUseIcon

      public void setUseIcon​(boolean useIcon)
    • clone

      public BlockingLayerUI clone()
      Overrides:
      clone in class java.lang.Object
    • processKeyEvent

      protected void processKeyEvent​(java.awt.event.KeyEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)
      Overrides:
      processKeyEvent in class org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
    • processMouseMotionEvent

      protected void processMouseMotionEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)
      Overrides:
      processMouseMotionEvent in class org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
    • processMouseEvent

      protected void processMouseEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)
      Overrides:
      processMouseEvent in class org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
    • processMouseWheelEvent

      protected void processMouseWheelEvent​(java.awt.event.MouseWheelEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)
      Overrides:
      processMouseWheelEvent in class org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
    • acceptEventOrConsumeIt

      protected boolean acceptEventOrConsumeIt​(java.awt.event.InputEvent e)
    • paintLayer

      protected void paintLayer​(java.awt.Graphics2D g2, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)
      Overrides:
      paintLayer in class org.jdesktop.jxlayer.plaf.AbstractLayerUI<javax.swing.JComponent>
    • acceptEvent

      protected void acceptEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)
    • getCurrentIcon

      protected java.awt.image.BufferedImage getCurrentIcon()
    • prepareIcon

      protected java.awt.image.BufferedImage prepareIcon​(javax.swing.ImageIcon image)
    • updateCanClickState

      protected void updateCanClickState​(org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l, java.awt.event.MouseEvent e)