kiwi.ui
Class KPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--kiwi.ui.KPanel
Direct Known Subclasses:
ArrowButtonView, ButtonPanel, DateChooser, DocumentBrowserView, FilesystemListView, FilesystemTableView, FilesystemTreeView, ImageView, PathEditor, SimpleEditor, StatusBar, Thermometer, WizardPanel, WizardView

public class KPanel
extends 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.

Version:
1.1 (11/98)
Author:
Mark Lindner, PING Software Group
See Also:
KFrame, Serialized Form

Inner classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
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
 
Constructor Summary
KPanel()
          Construct a new KPanel.
KPanel(Image image)
          Construct a new KPanel.
KPanel(LayoutManager lm)
          Construct a new KPanel.
KPanel(LayoutManager lm, Image image)
          Construct a new KPanel.
 
Method Summary
 Component getComponentByName(String name)
          Search for a component by name.
 void paintComponent(Graphics gc)
          Paint the component.
 void setOpaque(boolean flag)
          Overridden to prevent clients from making the panel transparent.
 void setTexture(Image image)
          Set the background texture.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, 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, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, 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, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, 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
 

Constructor Detail

KPanel

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

KPanel

public KPanel(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(LayoutManager lm,
              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(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

setOpaque

public void setOpaque(boolean flag)
Overridden to prevent clients from making the panel transparent.
Overrides:
setOpaque in class JComponent

paintComponent

public void paintComponent(Graphics gc)
Paint the component. Tiles the component with the background image, if one has been provided.
Overrides:
paintComponent in class JComponent

setTexture

public void setTexture(Image image)
Set the background texture.
Parameters:
image - The image to use as the background texture for the panel.

getComponentByName

public Component getComponentByName(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()