kiwi.ui
Class KPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bykiwi.ui.KPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
ArrowButtonView, AudioClipViewer, ButtonPanel, ContentPanel, DateChooser, DateChooserField, DocumentBrowserView, FilesystemListView, FilesystemTableView, FilesystemTreeView, ImageView, PathEditor, SimpleEditor, StatusBar, TextureViewer, Thermometer, UIElementChooser, WizardPanel, WizardView

public class KPanel
extends javax.swing.JPanel

An extension of JPanel that provides some additional functionality including support for background texture tiling and named-component lookup. Lightweight components nested within the KPanel should be transparent and unbuffered; the tiled background will not show through heavyweight components.

Note that images with transparent portions should not be used with KPanels.

A KPanel will always be transparent if a background texture has not been specified. Therefore KPanels may be safely nested if only the outermost instance has a texture applied. It is recommended that KPanels always be used in place of Swing JPanels.

In most cases it is convenient to use a KFrame to provide a textured background for an entire window.

If a solid color background is desired in place of a texture, then the outermost KPanel should be made opaque via the call setOpaque(true), and the texture should be turned off via a call to setTexture(null). The background color can be set using setBackground() as usual.

Author:
Mark Lindner, PING Software Group
See Also:
KFrame, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.awt.Image image
           
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
KPanel()
          Construct a new KPanel.
KPanel(java.awt.Image image)
          Construct a new KPanel.
KPanel(java.awt.LayoutManager lm)
          Construct a new KPanel.
KPanel(java.awt.LayoutManager lm, java.awt.Image image)
          Construct a new KPanel.
 
Method Summary
private  java.awt.Component findComponent(java.awt.Container cont, java.lang.String name)
           
 java.awt.Component getComponentByName(java.lang.String name)
          Search for a component by name.
 void paintComponent(java.awt.Graphics gc)
          Paint the component.
 void setFocusOrder(javax.swing.JComponent[] order)
          Set the focus order for this component.
 void setTexture(java.awt.Image image)
          Set the background texture.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Field Detail

image

private java.awt.Image image
Constructor Detail

KPanel

public KPanel()
Construct a new KPanel. The newly created KPanel will be transparent.


KPanel

public KPanel(java.awt.LayoutManager lm)
Construct a new KPanel. Creates a new KPanel with the specified layout manager. The newly created KPanel will be transparent.

Parameters:
lm - The layout manager to use for the panel.

KPanel

public KPanel(java.awt.LayoutManager lm,
              java.awt.Image image)
Construct a new KPanel. Creates a new KPanel with the specified layout manager and background image.

Parameters:
lm - The layout manager to use for the panel.
image - The image with which the background of the panel will be tiled.

KPanel

public KPanel(java.awt.Image image)
Construct a new KPanel. Creates a new KPanel with a BorderLayout and the specified background image.

Parameters:
image - The image with which the background of the panel will be tiled.
Method Detail

paintComponent

public void paintComponent(java.awt.Graphics gc)
Paint the component. Tiles the component with the background image, if one has been provided.


setTexture

public void setTexture(java.awt.Image image)
Set the background texture.

Parameters:
image - The image to use as the background texture for the panel.

getComponentByName

public java.awt.Component getComponentByName(java.lang.String name)
Search for a component by name. Components can be named using the setName() method of Component. This is a useful way of identifying a component when comparison by reference is not possible. This method searches this KPanel's component hierarchy for a component with the given name.

Parameters:
name - The name of the component to search for.
Returns:
The matching component, or null if there is no component in the component hierarchy with the given name.
See Also:
Component.setName(java.lang.String), Component.getName()

findComponent

private java.awt.Component findComponent(java.awt.Container cont,
                                         java.lang.String name)

setFocusOrder

public void setFocusOrder(javax.swing.JComponent[] order)
Set the focus order for this component. The focus order specifies the order in which child components will receive focus when the user presses the tab key to move between input components.

Parameters:
order - The component array representing the desired focus order.