Class FormDebugPanel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class FormDebugPanel extends JPanel
A panel that paints grid bounds if and only if the panel's layout manager is a FormLayout. You can tweak the debug paint process by setting a custom grid color, painting optional diagonals and painting the grid in the background or foreground.

This class is not intended to be extended. However, it is not marked as final to allow users to subclass it for debugging purposes. In general it is recommended to use JPanel instances, not extend them. You can see this implementation style in the Forms tutorial classes. Rarely there's a need to extend JPanel; for example if you provide a custom behavior for #paintComponent or #updateUI.

Version:
$Revision: 1.7 $
Author:
Karsten Lentzsch
See Also:
  • Field Details

    • paintRowsDefault

      public static boolean paintRowsDefault
  • Constructor Details

    • FormDebugPanel

      public FormDebugPanel()
      Constructs a FormDebugPanel with all options turned off.
    • FormDebugPanel

      public FormDebugPanel(FormLayout layout)
      Constructs a FormDebugPanel on the given FormLayout instance that paints the grid in the foreground and paints no diagonals.
      Parameters:
      layout - the panel's FormLayout instance
    • FormDebugPanel

      public FormDebugPanel(boolean paintInBackground, boolean paintDiagonals)
      Constructs a FormDebugPanel on the given FormLayout using the specified settings that are otherwise turned off.
      Parameters:
      paintInBackground - true to paint grid lines in the background, false to paint the grid in the foreground
      paintDiagonals - true to paint diagonals, false to not paint them
    • FormDebugPanel

      public FormDebugPanel(FormLayout layout, boolean paintInBackground, boolean paintDiagonals)
      Constructs a FormDebugPanel on the given FormLayout using the specified settings that are otherwise turned off.
      Parameters:
      layout - the panel's FormLayout instance
      paintInBackground - true to paint grid lines in the background, false to paint the grid in the foreground
      paintDiagonals - true to paint diagonals, false to not paint them
  • Method Details

    • setPaintInBackground

      public void setPaintInBackground(boolean b)
      Specifies to paint in background or foreground.
      Parameters:
      b - true to paint in the background, false for the foreground
    • setPaintDiagonals

      public void setPaintDiagonals(boolean b)
      Enables or disables to paint the panel's diagonals.
      Parameters:
      b - true to paint diagonals, false to not paint them
    • setPaintRows

      public void setPaintRows(boolean b)
      Enables or disables painting of rows. Enabled by default. Note that the top and bottom are always painted.
      Parameters:
      b - true to paint all rows, false to paint only the top and bottom
    • setGridColor

      public void setGridColor(Color color)
      Sets the debug grid's color.
      Parameters:
      color - the color used to paint the debug grid
    • paintComponent

      protected void paintComponent(Graphics g)
      Paints the component and - if background painting is enabled - the grid. If foreground painting is enabled, the grid will be painted in #paint.
      Overrides:
      paintComponent in class JComponent
      Parameters:
      g - the Graphics object to paint on
      See Also:
    • paint

      public void paint(Graphics g)
      Paints the panel. If the panel's layout manager is a FormLayout and foreground painting is enabled, it paints the form's grid lines. If the grid shall be painted in the background, the grid will be painted in #paintComponent.
      Overrides:
      paint in class JComponent
      Parameters:
      g - the Graphics object to paint on
      See Also: