org.pbjar.jxlayer.plaf.misc
Class MouseDrawingUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by org.jdesktop.jxlayer.plaf.LayerUI<V>
          extended by org.jdesktop.jxlayer.plaf.AbstractLayerUI<V>
              extended by org.pbjar.jxlayer.plaf.misc.GeneralLayerUI<JComponent,MouseDrawingUI.DrawingState>
                  extended by org.pbjar.jxlayer.plaf.misc.MouseDrawingUI
All Implemented Interfaces:
Serializable

public class MouseDrawingUI
extends GeneralLayerUI<JComponent,MouseDrawingUI.DrawingState>

A mouse drawing UI.

Author:
Piet Blok
See Also:
Serialized Form

Nested Class Summary
protected static class MouseDrawingUI.ColoredLine
          Defines one line.
protected static class MouseDrawingUI.DrawingState
          Holds state information.
 
Constructor Summary
MouseDrawingUI()
          Create an instance with AWTEventListener disabled.
MouseDrawingUI(boolean enableAWTEventListener)
          Create an instance.
 
Method Summary
protected  MouseDrawingUI.DrawingState createStateObject(org.jdesktop.jxlayer.JXLayer<JComponent> layer)
          Create a StateObject specific for this LayerUI and the JXLayer argument.
 List<Action> getActions(org.jdesktop.jxlayer.JXLayer<JComponent> layer)
          Returns Actions for: Clear the current drawing.
protected  void paintLayer(Graphics2D g2, org.jdesktop.jxlayer.JXLayer<JComponent> layer)
           
protected  void processMouseEvent(MouseEvent e, org.jdesktop.jxlayer.JXLayer<JComponent> layer)
           
protected  void processMouseMotionEvent(MouseEvent e, org.jdesktop.jxlayer.JXLayer<JComponent> layer)
           
 
Methods inherited from class org.pbjar.jxlayer.plaf.misc.GeneralLayerUI
cleanupStateObject, getActions, getName, getStateObject, installUI, isAWTEventListenerEnabled, processMouseWheelEvent, uninstallUI
 
Methods inherited from class org.jdesktop.jxlayer.plaf.AbstractLayerUI
configureGraphics, eventDispatched, getClip, getComposite, getLayerEventMask, getRenderingHints, getTransform, handlePropertyChangeEvent, isDirty, paint, paintLayer, processFocusEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, setDirty
 
Methods inherited from class org.jdesktop.jxlayer.plaf.LayerUI
addPropertyChangeListener, addPropertyChangeListener, contains, firePropertyChange, getPreferredScrollableViewportSize, getPropertyChangeListeners, getPropertyChangeListeners, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, removePropertyChangeListener, removePropertyChangeListener, updateUI
 
Methods inherited from class javax.swing.plaf.ComponentUI
createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MouseDrawingUI

public MouseDrawingUI()
Create an instance with AWTEventListener disabled.


MouseDrawingUI

public MouseDrawingUI(boolean enableAWTEventListener)
Create an instance.

Via the enableAWTEventListener argument, AWTEventListener can be enabled or disabled.

Parameters:
enableAWTEventListener - if true, AWTEventListener will be enabled. Specifying true Solves a problem with non editable JTextComponents.
Throws:
SecurityException - when enableAWTEventListener is true and if a security manager exists and its checkPermission method doesn't allow the operation.
See Also:
Toolkit.addAWTEventListener(AWTEventListener, long)
Method Detail

getActions

public List<Action> getActions(org.jdesktop.jxlayer.JXLayer<JComponent> layer)
Returns Actions for:
  1. Clear the current drawing.
  2. Set the color for the next line to be drawn.

Overrides:
getActions in class GeneralLayerUI<JComponent,MouseDrawingUI.DrawingState>
Parameters:
layer - the JXLayer
Returns:
a list of applicable actions

createStateObject

protected MouseDrawingUI.DrawingState createStateObject(org.jdesktop.jxlayer.JXLayer<JComponent> layer)
Description copied from class: GeneralLayerUI
Create a StateObject specific for this LayerUI and the JXLayer argument. The default implementation returns null.

Overrides:
createStateObject in class GeneralLayerUI<JComponent,MouseDrawingUI.DrawingState>
Parameters:
layer - the JXLayer
Returns:
a StateObject or null, if no state is maintained.

paintLayer

protected void paintLayer(Graphics2D g2,
                          org.jdesktop.jxlayer.JXLayer<JComponent> layer)

processMouseEvent

protected void processMouseEvent(MouseEvent e,
                                 org.jdesktop.jxlayer.JXLayer<JComponent> layer)

processMouseMotionEvent

protected void processMouseMotionEvent(MouseEvent e,
                                       org.jdesktop.jxlayer.JXLayer<JComponent> layer)