Class BlockingLayerUI2

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

public class BlockingLayerUI2
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 everywhere on the layer. Moreover, an icon can be added on the right-top icon painted and changed when the mouse is over the layer. You can change the blocking and accepting icon. To hook an click on the layer's icon, you can :
Since:
1.3
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.awt.image.BufferedImage acceptIcon
    Icon when you can click
    static java.lang.String BLOCK_ICON_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
  • Constructor Summary

    Constructors
    Constructor Description
    BlockingLayerUI2()  
  • Method Summary

    Modifier and Type Method Description
    protected void acceptEvent​(java.awt.event.MouseEvent e, org.jdesktop.jxlayer.JXLayer<? extends javax.swing.JComponent> l)  
    BlockingLayerUI2 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 setAcceptIcon​(javax.swing.ImageIcon acceptIcon)  
    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)  
    protected void updateCanClickState​(org.jdesktop.jxlayer.JXLayer<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
    • 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
  • Constructor Details

    • BlockingLayerUI2

      public BlockingLayerUI2()
  • Method Details

    • 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)
    • setDirty

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

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

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

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

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

      public boolean isCanClick()
    • clone

      public BlockingLayerUI2 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>
    • 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>
    • 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>
    • 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<javax.swing.JComponent> l, java.awt.event.MouseEvent e)