Package net.sf.jaxodraw.gui.grid
Class JaxoDefaultGrid
- java.lang.Object
-
- net.sf.jaxodraw.gui.grid.JaxoDefaultGrid
-
- All Implemented Interfaces:
java.awt.Transparency,java.lang.Cloneable,JaxoGrid,JaxoPaintableGrid
public class JaxoDefaultGrid extends java.lang.Object implements JaxoPaintableGrid, java.lang.Cloneable
Paints a grid on the canvas.- Since:
- 2.0
-
-
Field Summary
-
Fields inherited from interface net.sf.jaxodraw.gui.grid.JaxoPaintableGrid
STYLE_CROSS, STYLE_DOT, STYLE_LINE, STYLE_LINE_HONEYCOMB, TYPE_HEXAGONAL, TYPE_RECTANGULAR
-
-
Constructor Summary
Constructors Constructor Description JaxoDefaultGrid(int gsize, int gtype)Constructor.JaxoDefaultGrid(int gsize, int gtype, int gridStyle, java.awt.Color color)Constructor: Sets the dimension to the current screen size and take the other argument values.JaxoDefaultGrid(int gsize, int gtype, int gridStyle, java.awt.Color color, java.awt.Dimension canvasDim)Constructor: Sets the dimension, type and value from the arguments.JaxoDefaultGrid(int gsize, int gtype, java.awt.Dimension canvasDim)Constructor: Sets the dimension, type and value from the arguments.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChangeListener(javax.swing.event.ChangeListener l)ChangeEvents will be fired everytime the actual image of the grid changes (not on canvasSize changes).java.lang.Objectclone()Standard clone with all properties at the same values.voidcopyFrom(JaxoDefaultGrid g)Copies all properties from the argument.protected voidfireStateChanged()Notifies all listeners of a state change.java.awt.ColorgetBackground()Background of the grid (filling the whole canvas).java.awt.DimensiongetCanvasSize()Size of the grid canvas.java.awt.ColorgetGridColor()Color of the grid.intgetGridSize()Returns the current size of the grid.intgetGridStyle()Grid style (STYLE_XYZ constant).intgetGridType()Returns the type of the grid.intgetTransparency()Base on the 'transparent' property and the 'background' and 'gridColor' properties, assuming SRC_OVER rule.booleanisPainted()Determine if this grid gets painted.booleanisSnapped(java.awt.Point p)Determines if 'p' is on the grid.booleanisSnapping()Check if points are currently snapped to the grid.static JaxoDefaultGridnewDefaultGrid()A new grid with the values from the preferences.voidpaint(java.awt.Graphics2D g)Paints the grid.voidremoveChangeListener(javax.swing.event.ChangeListener l)Removes a change listener.voidsetBackground(java.awt.Color value)Sets the grid background color.voidsetCanvasSize(java.awt.Dimension value)Sets the size of the grid canvas.voidsetGridColor(java.awt.Color value)Sets the color of the grid points.voidsetGridSize(int value)Sets the size of the grid to the given value.voidsetGridStyle(int value)Set style, and repaint.voidsetGridType(int value)Sets the type of the grid (TYPE_XYZ).voidsetPainted(boolean painted)Determine if this grid gets painted.voidsetSnapping(boolean snapping)Switch on/off the snapping of this grid.java.awt.PointsnappedPoint(java.awt.Point p)Closest point to 'p' on the grid.voidsnapPoint(java.awt.Point p)Change 'p' to the closest point on the grid.
-
-
-
Constructor Detail
-
JaxoDefaultGrid
public JaxoDefaultGrid(int gsize, int gtype)Constructor.- Parameters:
gsize- The grid size to be set.gtype- The grid type to be set.
-
JaxoDefaultGrid
public JaxoDefaultGrid(int gsize, int gtype, int gridStyle, java.awt.Color color)Constructor: Sets the dimension to the current screen size and take the other argument values.- Parameters:
gsize- The grid size to be set.gtype- The grid type to be set.gridStyle- The grid style to be setcolor- The grid color to be set
-
JaxoDefaultGrid
public JaxoDefaultGrid(int gsize, int gtype, java.awt.Dimension canvasDim)Constructor: Sets the dimension, type and value from the arguments.- Parameters:
gsize- The grid size to be set.gtype- The grid type to be set.canvasDim- The canvasSize.
-
JaxoDefaultGrid
public JaxoDefaultGrid(int gsize, int gtype, int gridStyle, java.awt.Color color, java.awt.Dimension canvasDim)Constructor: Sets the dimension, type and value from the arguments.- Parameters:
gsize- The grid size to be set.gtype- The grid type to be set.gridStyle- The grid style to be set.color- The grid color to be set.canvasDim- The current canvas size.
-
-
Method Detail
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedExceptionStandard clone with all properties at the same values.- Overrides:
clonein classjava.lang.Object- Returns:
- A clone of this grid.
- Throws:
java.lang.CloneNotSupportedException- If the object's class does not support the Cloneable interface.
-
copyFrom
public void copyFrom(JaxoDefaultGrid g)
Copies all properties from the argument.- Parameters:
g- The grid to take the properties from.
-
addChangeListener
public void addChangeListener(javax.swing.event.ChangeListener l)
ChangeEvents will be fired everytime the actual image of the grid changes (not on canvasSize changes).- Specified by:
addChangeListenerin interfaceJaxoPaintableGrid- Parameters:
l- The listener to add.
-
removeChangeListener
public void removeChangeListener(javax.swing.event.ChangeListener l)
Removes a change listener.- Specified by:
removeChangeListenerin interfaceJaxoPaintableGrid- Parameters:
l- The listener to remove.
-
fireStateChanged
protected void fireStateChanged()
Notifies all listeners of a state change.
-
isSnapped
public boolean isSnapped(java.awt.Point p)
Determines if 'p' is on the grid. This is equivalent top.equals(snappedPoint(p)).
-
snappedPoint
public final java.awt.Point snappedPoint(java.awt.Point p)
Closest point to 'p' on the grid.- Specified by:
snappedPointin interfaceJaxoGrid- Parameters:
p- The point to snap.- Returns:
- The closest grid point.
-
snapPoint
public final void snapPoint(java.awt.Point p)
Change 'p' to the closest point on the grid.
-
getTransparency
public final int getTransparency()
Base on the 'transparent' property and the 'background' and 'gridColor' properties, assuming SRC_OVER rule.- Specified by:
getTransparencyin interfacejava.awt.Transparency- Returns:
- The transparency.
-
paint
public final void paint(java.awt.Graphics2D g)
Paints the grid.- Specified by:
paintin interfaceJaxoPaintableGrid- Parameters:
g- The graphics context to paint the grid.
-
getCanvasSize
public java.awt.Dimension getCanvasSize()
Size of the grid canvas. This is the size of the area on which the grid will be painted.- Specified by:
getCanvasSizein interfaceJaxoPaintableGrid- Returns:
- The size of the grid canvas.
-
setCanvasSize
public void setCanvasSize(java.awt.Dimension value)
Sets the size of the grid canvas. This is the size of the area on which the grid will be painted.- Specified by:
setCanvasSizein interfaceJaxoPaintableGrid- Parameters:
value- The size to set.
-
setGridSize
public final void setGridSize(int value)
Sets the size of the grid to the given value. This is the distance between two grid points. For a hexagonal grid, the grid size is always forced to be even.- Specified by:
setGridSizein interfaceJaxoPaintableGrid- Parameters:
value- The grid size to be set.
-
getGridSize
public final int getGridSize()
Returns the current size of the grid. This is the distance between two grid points.- Specified by:
getGridSizein interfaceJaxoPaintableGrid- Returns:
- The grid size.
-
setGridType
public final void setGridType(int value)
Sets the type of the grid (TYPE_XYZ).- Specified by:
setGridTypein interfaceJaxoPaintableGrid- Parameters:
value- The gridtype to be set.
-
getGridType
public final int getGridType()
Returns the type of the grid.- Specified by:
getGridTypein interfaceJaxoPaintableGrid- Returns:
- The gridtype (TYPE_XYZ).
-
getGridColor
public final java.awt.Color getGridColor()
Color of the grid.- Specified by:
getGridColorin interfaceJaxoPaintableGrid- Returns:
- The color of the grid.
-
setGridColor
public void setGridColor(java.awt.Color value)
Sets the color of the grid points.- Specified by:
setGridColorin interfaceJaxoPaintableGrid- Parameters:
value- The color to set.
-
getBackground
public final java.awt.Color getBackground()
Background of the grid (filling the whole canvas). May be null, indicating no background painting, and is ignored in 'transparent' mode. The default is White (the default mode is transparent, so it does not matter).- Returns:
- The background color.
-
setBackground
public void setBackground(java.awt.Color value)
Sets the grid background color.- Parameters:
value- The color to set.
-
getGridStyle
public final int getGridStyle()
Grid style (STYLE_XYZ constant). The default is STYLE_DOT.- Specified by:
getGridStylein interfaceJaxoPaintableGrid- Returns:
- The grid style.
-
setGridStyle
public void setGridStyle(int value)
Set style, and repaint.- Specified by:
setGridStylein interfaceJaxoPaintableGrid- Parameters:
value- The style to set.
-
newDefaultGrid
public static final JaxoDefaultGrid newDefaultGrid()
A new grid with the values from the preferences.- Returns:
- A new grid.
-
isPainted
public boolean isPainted()
Determine if this grid gets painted. By default, a grid is painted.- Specified by:
isPaintedin interfaceJaxoPaintableGrid- Returns:
- true if the grid is switched on, false otherwise.
-
setPainted
public void setPainted(boolean painted)
Determine if this grid gets painted.- Specified by:
setPaintedin interfaceJaxoPaintableGrid- Parameters:
painted- true if this grid should get painted, false otherwise.
-
isSnapping
public boolean isSnapping()
Check if points are currently snapped to the grid. By default snapping is off.- Specified by:
isSnappingin interfaceJaxoPaintableGrid- Returns:
- true if this grid snaps points, false otherwise.
-
setSnapping
public void setSnapping(boolean snapping)
Switch on/off the snapping of this grid.- Specified by:
setSnappingin interfaceJaxoPaintableGrid- Parameters:
snapping- true if this grid should snap points, false otherwise.
-
-