org.mlc.swing.layout
Class FormDebugPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.mlc.swing.layout.FormDebugPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class FormDebugPanel
extends javax.swing.JPanel

[Taken from the FormLayout codebase. Hacked to work with @see ContainerLayout and deactivate() added.]

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.

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.

Author:
Karsten Lentzsch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
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(com.jgoodies.forms.layout.FormLayout layout)
          Constructs a FormDebugPanel on the given FormLayout instance that paints the grid in the foreground and paints no diagonals.
FormDebugPanel(com.jgoodies.forms.layout.FormLayout layout, boolean paintInBackground, boolean paintDiagonals)
          Constructs a FormDebugPanel on the given FormLayout using the specified settings that are otherwise turned off.
 
Method Summary
 void deactivate(boolean turnoff)
           
 void paint(java.awt.Graphics g)
          Paints the panel.
protected  void paintComponent(java.awt.Graphics g)
          Paints the component and - if background painting is enabled - the grid
 void setGridColor(java.awt.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.
 
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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, transferFocusBackward, 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, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FormDebugPanel

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


FormDebugPanel

public FormDebugPanel(com.jgoodies.forms.layout.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(com.jgoodies.forms.layout.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

setGridColor

public void setGridColor(java.awt.Color color)
Sets the debug grid's color.

Parameters:
color - the color used to paint the debug grid

paintComponent

protected void paintComponent(java.awt.Graphics g)
Paints the component and - if background painting is enabled - the grid

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - the Graphics object to paint on

paint

public void paint(java.awt.Graphics g)
Paints the panel. If the panel's layout manager is a FormLayout it paints the form's grid lines.

Overrides:
paint in class javax.swing.JComponent
Parameters:
g - the Graphics object to paint on

deactivate

public void deactivate(boolean turnoff)