Groovy Documentation

com.wordpress.tipsforjava.swing
[Java] Class ComponentResizer

java.lang.Object
  java.awt.event.MouseAdapter
      com.wordpress.tipsforjava.swing.ComponentResizer

public class ComponentResizer
extends MouseAdapter

The ComponentResizer allows you to resize a component by dragging a border of the component.

Authors:
Rob Camick
Darryl Burke


Field Summary
protected static int EAST

private static Dimension MAXIMUM_SIZE

private static Dimension MINIMUM_SIZE

protected static int NORTH

protected static int SOUTH

protected static int WEST

private boolean autoscrolls

private Rectangle bounds

private static Map cursors

private int direction

private Insets dragInsets

private Dimension maximumSize

private Dimension minimumSize

private Point pressed

private boolean resizing

private Dimension snapSize

private Cursor sourceCursor

 
Constructor Summary
ComponentResizer()

Convenience contructor.

ComponentResizer(Component... components)

Convenience contructor.

ComponentResizer(Insets dragInsets, Component... components)

Convenience contructor.

ComponentResizer(Insets dragInsets, Dimension snapSize, Component... components)

Create a ComponentResizer.

 
Method Summary
protected void changeBounds(Component source, int direction, Rectangle bounds, Point pressed, Point current)

void deregisterComponent(Component... components)

Remove listeners from the specified component

private Dimension getBoundingSize(Component source)

private int getDragBounded(int drag, int snapSize, int dimension, int minimum, int maximum)

private int getDragDistance(int larger, int smaller, int snapSize)

Insets getDragInsets()

Get the drag insets

Dimension getMaximumSize()

Get the components maximum size.

Dimension getMinimumSize()

Get the components minimum size.

Dimension getSnapSize()

Get the snap size.

void mouseDragged(MouseEvent e)

Resize the component ensuring location and size is within the bounds of the parent container and that the size is within the minimum and maximum constraints.

void mouseEntered(MouseEvent e)

void mouseExited(MouseEvent e)

void mouseMoved(MouseEvent e)

void mousePressed(MouseEvent e)

void mouseReleased(MouseEvent e)

Restore the original state of the Component

void registerComponent(Component... components)

Add the required listeners to the specified component

void setDragInsets(Insets dragInsets)

Set the drag dragInsets.

void setMaximumSize(Dimension maximumSize)

Specify the maximum size for the component.

void setMinimumSize(Dimension minimumSize)

Specify the minimum size for the component.

void setSnapSize(Dimension snapSize)

Control how many pixels a border must be dragged before the size of the component is changed.

private void validateMinimumAndInsets(Dimension minimum, Insets drag)

When the components minimum size is less than the drag insets then we can't determine which border should be resized so we need to prevent this from happening.

 
Methods inherited from class MouseAdapter
mousePressed, mouseReleased, mouseClicked, mouseExited, mouseEntered, mouseMoved, mouseDragged, mouseWheelMoved, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 
Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 

Field Detail

EAST

protected static final int EAST


MAXIMUM_SIZE

private static final Dimension MAXIMUM_SIZE


MINIMUM_SIZE

private static final Dimension MINIMUM_SIZE


NORTH

protected static final int NORTH


SOUTH

protected static final int SOUTH


WEST

protected static final int WEST


autoscrolls

private boolean autoscrolls


bounds

private Rectangle bounds


cursors

private static Map cursors


direction

private int direction


dragInsets

private Insets dragInsets


maximumSize

private Dimension maximumSize


minimumSize

private Dimension minimumSize


pressed

private Point pressed


resizing

private boolean resizing


snapSize

private Dimension snapSize


sourceCursor

private Cursor sourceCursor


 
Constructor Detail

ComponentResizer

public ComponentResizer()
Convenience contructor. All borders are resizable in increments of a single pixel. Components must be registered separately.


ComponentResizer

public ComponentResizer(Component... components)
Convenience contructor. All borders are resizable in increments of a single pixel. Components can be registered when the class is created or they can be registered separately afterwards.
Parameters:
components - components to be automatically registered


ComponentResizer

public ComponentResizer(Insets dragInsets, Component... components)
Convenience contructor. Eligible borders are resisable in increments of a single pixel. Components can be registered when the class is created or they can be registered separately afterwards.
Parameters:
dragInsets - Insets specifying which borders are eligible to be resized.
components - components to be automatically registered


ComponentResizer

public ComponentResizer(Insets dragInsets, Dimension snapSize, Component... components)
Create a ComponentResizer.
Parameters:
dragInsets - Insets specifying which borders are eligible to be resized.
snapSize - Specify the dimension to which the border will snap to when being dragged. Snapping occurs at the halfway mark.
components - components to be automatically registered


 
Method Detail

changeBounds

protected void changeBounds(Component source, int direction, Rectangle bounds, Point pressed, Point current)


deregisterComponent

public void deregisterComponent(Component... components)
Remove listeners from the specified component
Parameters:
component - the component the listeners are removed from


getBoundingSize

private Dimension getBoundingSize(Component source)


getDragBounded

private int getDragBounded(int drag, int snapSize, int dimension, int minimum, int maximum)


getDragDistance

private int getDragDistance(int larger, int smaller, int snapSize)


getDragInsets

public Insets getDragInsets()
Get the drag insets
Returns:
the drag insets


getMaximumSize

public Dimension getMaximumSize()
Get the components maximum size.
Returns:
the maximum size


getMinimumSize

public Dimension getMinimumSize()
Get the components minimum size.
Returns:
the minimum size


getSnapSize

public Dimension getSnapSize()
Get the snap size.
Returns:
the snap size.


mouseDragged

de
	public
public void mouseDragged(MouseEvent e)
Resize the component ensuring location and size is within the bounds of the parent container and that the size is within the minimum and maximum constraints. All calculations are done using the bounds of the component when the resizing started.


mouseEntered

de
	public
public void mouseEntered(MouseEvent e)


mouseExited

de
	public
public void mouseExited(MouseEvent e)


mouseMoved

de
	public
public void mouseMoved(MouseEvent e)


mousePressed

de
	public
public void mousePressed(MouseEvent e)


mouseReleased

de
	public
public void mouseReleased(MouseEvent e)
Restore the original state of the Component


registerComponent

public void registerComponent(Component... components)
Add the required listeners to the specified component
Parameters:
component - the component the listeners are added to


setDragInsets

public void setDragInsets(Insets dragInsets)
Set the drag dragInsets. The insets specify an area where mouseDragged events are recognized from the edge of the border inwards. A value of 0 for any size will imply that the border is not resizable. Otherwise the appropriate drag cursor will appear when the mouse is inside the resizable border area.
Parameters:
dragInsets - Insets to control which borders are resizeable.


setMaximumSize

public void setMaximumSize(Dimension maximumSize)
Specify the maximum size for the component. The component will still be constrained by the size of its parent.
Parameters:
maximumSize - the maximum size for a component.


setMinimumSize

public void setMinimumSize(Dimension minimumSize)
Specify the minimum size for the component. The minimum size is constrained by the drag insets.
Parameters:
minimumSize - the minimum size for a component.


setSnapSize

public void setSnapSize(Dimension snapSize)
Control how many pixels a border must be dragged before the size of the component is changed. The border will snap to the size once dragging has passed the halfway mark.
Parameters:
snapSize - Dimension object allows you to separately spcify a horizontal and vertical snap size.


validateMinimumAndInsets

private void validateMinimumAndInsets(Dimension minimum, Insets drag)
When the components minimum size is less than the drag insets then we can't determine which border should be resized so we need to prevent this from happening.


 

Groovy Documentation