Class JaxoDefaultGrid

java.lang.Object
net.sf.jaxodraw.gui.grid.JaxoDefaultGrid
All Implemented Interfaces:
Transparency, Cloneable, JaxoGrid, JaxoPaintableGrid

public class JaxoDefaultGrid extends Object implements JaxoPaintableGrid, Cloneable
Paints a grid on the canvas.
Since:
2.0
  • Constructor Details

    • 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, 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 set
      color - The grid color to be set
    • JaxoDefaultGrid

      public JaxoDefaultGrid(int gsize, int gtype, 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, Color color, 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 Details

    • clone

      public Object clone() throws CloneNotSupportedException
      Standard clone with all properties at the same values.
      Overrides:
      clone in class Object
      Returns:
      A clone of this grid.
      Throws:
      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(ChangeListener l)
      ChangeEvents will be fired everytime the actual image of the grid changes (not on canvasSize changes).
      Specified by:
      addChangeListener in interface JaxoPaintableGrid
      Parameters:
      l - The listener to add.
    • removeChangeListener

      public void removeChangeListener(ChangeListener l)
      Removes a change listener.
      Specified by:
      removeChangeListener in interface JaxoPaintableGrid
      Parameters:
      l - The listener to remove.
    • fireStateChanged

      protected void fireStateChanged()
      Notifies all listeners of a state change.
    • isSnapped

      public boolean isSnapped(Point p)
      Determines if 'p' is on the grid. This is equivalent to p.equals(snappedPoint(p)).
      Specified by:
      isSnapped in interface JaxoGrid
      Parameters:
      p - The point to snap.
      Returns:
      True if p is on the grid.
    • snappedPoint

      public final Point snappedPoint(Point p)
      Closest point to 'p' on the grid.
      Specified by:
      snappedPoint in interface JaxoGrid
      Parameters:
      p - The point to snap.
      Returns:
      The closest grid point.
    • snapPoint

      public final void snapPoint(Point p)
      Change 'p' to the closest point on the grid.
      Specified by:
      snapPoint in interface JaxoGrid
      Parameters:
      p - The point to snap.
    • getTransparency

      public final int getTransparency()
      Base on the 'transparent' property and the 'background' and 'gridColor' properties, assuming SRC_OVER rule.
      Specified by:
      getTransparency in interface Transparency
      Returns:
      The transparency.
    • paint

      public final void paint(Graphics2D g)
      Paints the grid.
      Specified by:
      paint in interface JaxoPaintableGrid
      Parameters:
      g - The graphics context to paint the grid.
    • getCanvasSize

      public Dimension getCanvasSize()
      Size of the grid canvas. This is the size of the area on which the grid will be painted.
      Specified by:
      getCanvasSize in interface JaxoPaintableGrid
      Returns:
      The size of the grid canvas.
    • setCanvasSize

      public void setCanvasSize(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:
      setCanvasSize in interface JaxoPaintableGrid
      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:
      setGridSize in interface JaxoPaintableGrid
      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:
      getGridSize in interface JaxoPaintableGrid
      Returns:
      The grid size.
    • setGridType

      public final void setGridType(int value)
      Sets the type of the grid (TYPE_XYZ).
      Specified by:
      setGridType in interface JaxoPaintableGrid
      Parameters:
      value - The gridtype to be set.
    • getGridType

      public final int getGridType()
      Returns the type of the grid.
      Specified by:
      getGridType in interface JaxoPaintableGrid
      Returns:
      The gridtype (TYPE_XYZ).
    • getGridColor

      public final Color getGridColor()
      Color of the grid.
      Specified by:
      getGridColor in interface JaxoPaintableGrid
      Returns:
      The color of the grid.
    • setGridColor

      public void setGridColor(Color value)
      Sets the color of the grid points.
      Specified by:
      setGridColor in interface JaxoPaintableGrid
      Parameters:
      value - The color to set.
    • getBackground

      public final 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(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:
      getGridStyle in interface JaxoPaintableGrid
      Returns:
      The grid style.
    • setGridStyle

      public void setGridStyle(int value)
      Set style, and repaint.
      Specified by:
      setGridStyle in interface JaxoPaintableGrid
      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:
      isPainted in interface JaxoPaintableGrid
      Returns:
      true if the grid is switched on, false otherwise.
    • setPainted

      public void setPainted(boolean painted)
      Determine if this grid gets painted.
      Specified by:
      setPainted in interface JaxoPaintableGrid
      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:
      isSnapping in interface JaxoPaintableGrid
      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:
      setSnapping in interface JaxoPaintableGrid
      Parameters:
      snapping - true if this grid should snap points, false otherwise.