qflib 0.98.1

de.qfs.lib.gui
Class Grid

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--de.qfs.lib.gui.Grid
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class Grid
extends javax.swing.JPanel

A Grid extends JPanel to provide convenient layout of its children through the use of (possibly nested) GridBagLayout(s).

This class is still very rough and experimental. XXX Todo: Rewrite Grid so it can recreate itself anytime, allowing lines to be inserted later and add the components in the lines directly instead of packing them into yet another panel.

Version:
$Revision: 1.15 $
Author:
Gregor Schmid
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  int horDist
          The horizontalDistance of the Grid.
protected  java.awt.GridBagLayout layout
          The layout of the Grid.
protected  int lines
          The number of rows contained in the Grid.
protected  double totalWeight
          The total accumulated y-weight.
protected  int verDist
          The verticalDistance of the Grid.
 
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
Grid()
          Create a new Grid.
Grid(java.awt.Component[][] components)
          Create a new Grid.
Grid(int hdist, int vdist)
          Create a new Grid.
 
Method Summary
 void add(java.awt.Component com, double weighty)
          Add one Component as a full row to the Grid.
 void addGlue()
          Add vertical glue to the Grid to provide proper spacing.
 void addGrid(java.awt.Component[][] grid)
          Add several rows of Components to the Grid.
 void addLine(java.awt.Component[] line)
          Add one row of Components to the Grid.
 void addLine(java.awt.Component[] line, double weighty)
          Add one row of Components to the Grid.
 int getHorizontalDistance()
          Get the horizontalDistance of the Grid.
 double getTotalWeight()
          Get the total accumulated y-weight of the Grid.
 int getVerticalDistance()
          Get the verticalDistance of the Grid.
protected  java.awt.Component makeLine(java.awt.Component[] line)
          Pack Components into a row for the Grid.
 boolean needGlue()
          Whether the Grid still needs some glue to provide proper spacing.
 void removeAll()
          Overridden to reset line count.
 void removeGlue()
          Add vertical glue to the Grid to provide proper spacing.
 void setHorizontalDistance(int horizontalDistance)
          Set the horizontalDistance of the Grid.
 void setVerticalDistance(int verticalDistance)
          Set the verticalDistance of the Grid.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lines

protected int lines
The number of rows contained in the Grid.

layout

protected java.awt.GridBagLayout layout
The layout of the Grid.

horDist

protected int horDist
The horizontalDistance of the Grid.

verDist

protected int verDist
The verticalDistance of the Grid.

totalWeight

protected double totalWeight
The total accumulated y-weight.
Constructor Detail

Grid

public Grid()
Create a new Grid.

Grid

public Grid(int hdist,
            int vdist)
Create a new Grid.
Parameters:
hdist - Default horizontal distance between children.
vdist - Default vertical distance between children.

Grid

public Grid(java.awt.Component[][] components)
Create a new Grid.
Parameters:
components - Two dimensional array of components to add to the Grid.
Method Detail

addLine

public void addLine(java.awt.Component[] line)
Add one row of Components to the Grid.
Parameters:
line - An array containig the Components to add.

addLine

public void addLine(java.awt.Component[] line,
                    double weighty)
Add one row of Components to the Grid.
Parameters:
line - An array containig the Components to add.
weighty - The weight to use for the GridBagConstraints.

addGrid

public void addGrid(java.awt.Component[][] grid)
Add several rows of Components to the Grid. Components will be added left packed, i.e. if one line has fewer Components than another, the last Component in that line will fill the empty cells.
Parameters:
grid - A two dimensional array containing the Components to add.

add

public void add(java.awt.Component com,
                double weighty)
Add one Component as a full row to the Grid.
Parameters:
com - The Component to add.
weighty - The weight to use for the GridBagConstraints.

addGlue

public void addGlue()
Add vertical glue to the Grid to provide proper spacing. Should be called only once per Grid.

removeGlue

public void removeGlue()
Add vertical glue to the Grid to provide proper spacing.

getHorizontalDistance

public final int getHorizontalDistance()
Get the horizontalDistance of the Grid.
Returns:
The horizontalDistance of the Grid.

setHorizontalDistance

public final void setHorizontalDistance(int horizontalDistance)
Set the horizontalDistance of the Grid.
Parameters:
horizontalDistance - The horizontalDistance to set.

getVerticalDistance

public final int getVerticalDistance()
Get the verticalDistance of the Grid.
Returns:
The verticalDistance of the Grid.

setVerticalDistance

public final void setVerticalDistance(int verticalDistance)
Set the verticalDistance of the Grid.
Parameters:
verticalDistance - The verticalDistance to set.

needGlue

public final boolean needGlue()
Whether the Grid still needs some glue to provide proper spacing.
Returns:
True if glue is still needed.

getTotalWeight

public double getTotalWeight()
Get the total accumulated y-weight of the Grid.
Returns:
The total y-weight.

removeAll

public void removeAll()
Overridden to reset line count.
Overrides:
removeAll in class java.awt.Container

makeLine

protected java.awt.Component makeLine(java.awt.Component[] line)
Pack Components into a row for the Grid. The Components will be sized equally.
Parameters:
line - The array of Components.
Returns:
The complete row.

qflib 0.98.1