net.xoetrope.swing
Class XPanel

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 net.xoetrope.swing.XPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, XAttributedComponent

public class XPanel
extends javax.swing.JPanel
implements XAttributedComponent

A basic container for components. The panel can optional draw a border. By default no frame is displayed.

Copyright (c) Xoetrope Ltd., 1998-2004
License: see license.txt

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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int arc
           
static int BORDER_BEVEL
          A bevel border
static int BORDER_FLAT
          A line border
static int BORDER_NONE
          No border
protected  int drawFrame
           
protected  int padding
           
protected  boolean translucent
           
protected  boolean usesLaf
           
 
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
XPanel()
          Constructs a new panel with a null layout
 
Method Summary
 void addNotify()
          Repaint the component once it has been created
 int getArc()
          Get the arc size
 int getDrawFrame()
          Get the frame display value.
 java.awt.Insets getInsets()
          Get the insets
 Painter getPainter()
          Get the background painter object
 java.awt.Dimension getPreferredSize()
          Get the preferred size of the panel.
 boolean getUsesLaf()
          Get the flag for painting of the background
 void paintComponent(java.awt.Graphics g)
          Update the panel by erasing and then rendering the frame if any
 void setArc(int value)
          Set the arc size
 int setAttribute(java.lang.String attribName, java.lang.Object attribValue)
          Set one or more attributes of the component.
 void setBounds(int x, int y, int w, int h)
           
 void setDrawFrame(int value)
          Toggle the frame display.
 void setPainter(Painter xp)
          Set the background painter object
 void setUsesLaf(boolean value)
          Set the painting of the background
 void update(java.awt.Graphics g)
          Update the component by painting its background
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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
 
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, 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

BORDER_NONE

public static final int BORDER_NONE
No border

See Also:
Constant Field Values

BORDER_FLAT

public static final int BORDER_FLAT
A line border

See Also:
Constant Field Values

BORDER_BEVEL

public static final int BORDER_BEVEL
A bevel border

See Also:
Constant Field Values

drawFrame

protected int drawFrame

usesLaf

protected boolean usesLaf

translucent

protected boolean translucent

arc

protected int arc

padding

protected int padding
Constructor Detail

XPanel

public XPanel()
Constructs a new panel with a null layout

Method Detail

addNotify

public void addNotify()
Repaint the component once it has been created

Overrides:
addNotify in class javax.swing.JComponent

update

public void update(java.awt.Graphics g)
Update the component by painting its background

Overrides:
update in class javax.swing.JComponent
Parameters:
g - the graphics context

getInsets

public java.awt.Insets getInsets()
Get the insets

Overrides:
getInsets in class javax.swing.JComponent
Returns:
the insets

paintComponent

public void paintComponent(java.awt.Graphics g)
Update the panel by erasing and then rendering the frame if any

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - the graphics context

getArc

public int getArc()
Get the arc size

Returns:
the arc size

setArc

public void setArc(int value)
Set the arc size

Parameters:
value - the arc size

setPainter

public void setPainter(Painter xp)
Set the background painter object

Parameters:
xp - the painter object

getPainter

public Painter getPainter()
Get the background painter object

Returns:
the painter object

setDrawFrame

public void setDrawFrame(int value)
Toggle the frame display.

Parameters:
value - 0 for no frame, 1 for a bevel, 2 for a flat frame

setUsesLaf

public void setUsesLaf(boolean value)
Set the painting of the background

Parameters:
value - true to have the LAF paint the background or false for the component to paint it itself using the colours specified in the styles (if any)

getUsesLaf

public boolean getUsesLaf()
Get the flag for painting of the background

Returns:
true when the LAF paint the background or otherwise false when the component to paint it itself using the colours specified in the styles (if any)

getDrawFrame

public int getDrawFrame()
Get the frame display value.

Returns:
val 0 for no frame, 1 for a bevel, 2 for a flat frame

setAttribute

public int setAttribute(java.lang.String attribName,
                        java.lang.Object attribValue)
Set one or more attributes of the component.
  1. border value=(0|1) for nor border or for a border
  2. laf value=(true|false) rely on the look and feel to paint the background
  3. opaque value=(true|false) false to rely on the parent component to paint the background
  4. translucent value=(true|false) when a non-opaque window is render a value of true for this property causes the background to be painted, whereas with the default false value the background is not painted
  5. imagename value=the name of a background image to use as a watermark
  6. painter value=the class name of an Painter class for painting the panel backgrounds
  7. title value=the text for the panel title
  8. arc value=the radius for teh panel corners
  9. buffered value=true for double buffering
  10. titleStyle value=the name of the style for the title

Specified by:
setAttribute in interface XAttributedComponent
Parameters:
attribName - the attribute name
attribValue - the attribute value
Returns:
0 for success, non zero for failure or to require some further action

getPreferredSize

public java.awt.Dimension getPreferredSize()
Get the preferred size of the panel. If no layout is used then the maximum X and y coordinates used in this panel are returned.

Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
the preferred size of this panel

setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)
Overrides:
setBounds in class java.awt.Component