FormDebugPanel (JGoodies Forms 1.9 API)
Date: 2015-02-02

com.jgoodies.forms.debug

## Class FormDebugPanel

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - com.jgoodies.forms.debug.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.10 $
  Author:
    Karsten Lentzsch
  See Also:
    `FormDebugUtils`, Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `paintRowsDefault`

    - ### Fields inherited from class javax.swing.JComponent

      `accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FormDebugPanel()` Constructs a FormDebugPanel with all options turned off.
    `FormDebugPanel(boolean paintInBackground, boolean paintDiagonals)` Constructs a FormDebugPanel on the given FormLayout using the specified settings that are otherwise turned off.
    `FormDebugPanel(FormLayout layout)` Constructs a FormDebugPanel on the given FormLayout instance that paints the grid in the foreground and paints no diagonals.
    `FormDebugPanel(FormLayout layout, boolean paintInBackground, boolean paintDiagonals)` Constructs a FormDebugPanel on the given FormLayout using the specified settings that are otherwise turned off.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `paint(Graphics g)` Paints the panel.
    `protected void` | `paintComponent(Graphics g)` Paints the component and - if background painting is enabled - the grid.
    `void` | `setGridColor(Color color)` Sets the debug grid's color.
    `void` | `setPaintDiagonals(boolean b)` Enables or disables to paint the panel's diagonals.
    `void` | `setPaintInBackground(boolean b)` Specifies to paint in background or foreground.
    `void` | `setPaintRows(boolean b)` Enables or disables painting of rows.

    - ### Methods inherited from class javax.swing.JPanel

      `getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### paintRowsDefault

          public static boolean paintRowsDefault

  - ### Constructor Detail

    - #### 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 Detail

    - #### 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(Graphics)`

    - #### 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:
        `paintComponent(Graphics)`

Copyright © 2002-2015 JGoodies Software GmbH. All Rights Reserved.