org.ceryle.ui
Class ExpandablePanel

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.ceryle.ui.ExpandablePanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Expandable
Direct Known Subclasses:
ConnectedNodesPanel

public class ExpandablePanel
extends JPanel
implements Expandable

Extends JPanel to provide a two-mode panel: one minimized, one maximized. This includes a small control button, a title and a comment area.

Since:
JDK1.4
Version:
$Id: ExpandablePanel.java,v 3.6 2007-06-15 12:09:37 altheim Exp $
Author:
Murray Altheim
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int BORDER
          Border measurement used in expandable components.
static int btnSize
          Button size measurement used in components.
protected  JPanel centerPanel
           
static int componentHeight
          Height measurement used in embedded component.
protected  JDialog m_dialog
           
protected  boolean m_maximized
          The current state of maximization (true) or minimization (false).
protected  Container m_parent
           
protected  JPanel northPanel
           
protected  JPanel southPanel
           
 
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
ExpandablePanel(Container container, JComponent component)
          Constructor for an ExpandablePanel, incluing a reference to the parent Container and the internal JComponent (which will be hidden upon minimization).
ExpandablePanel(Container container, String title, String comment, JComponent component)
          Constructor for an ExpandablePanel, including a reference to its parent Container, an optional String title and comment, and the internal JComponent (to be hidden upon minimization).
 
Method Summary
 JComponent getComponent()
          Return the embedded JComponent.
 boolean isMaximized()
          Returns true if the embedded panel is currently maximized.
 void setComment(String comment)
          Set the comment text to the String comment.
 void setExpandable(boolean expandable)
          Sets the visibility of the expandable button.
 void setMaximized(boolean maximized)
          Set the maximized (i.e., visible) state of the embedded JComponent.
 void setTitle(String title)
          Set the title text to the String title.
 
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, paint, paintBorder, paintChildren, paintComponent, 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
 

Field Detail

BORDER

public static final int BORDER
Border measurement used in expandable components.

See Also:
Constant Field Values

btnSize

public static int btnSize
Button size measurement used in components.


componentHeight

public static int componentHeight
Height measurement used in embedded component.


m_maximized

protected boolean m_maximized
The current state of maximization (true) or minimization (false).


northPanel

protected JPanel northPanel

centerPanel

protected JPanel centerPanel

southPanel

protected JPanel southPanel

m_dialog

protected JDialog m_dialog

m_parent

protected Container m_parent
Constructor Detail

ExpandablePanel

public ExpandablePanel(Container container,
                       JComponent component)
Constructor for an ExpandablePanel, incluing a reference to the parent Container and the internal JComponent (which will be hidden upon minimization).

Parameters:
container - the optional parent container
component - the JComponent to be embedded (a JList, JPanel, etc.)

ExpandablePanel

public ExpandablePanel(Container container,
                       String title,
                       String comment,
                       JComponent component)
Constructor for an ExpandablePanel, including a reference to its parent Container, an optional String title and comment, and the internal JComponent (to be hidden upon minimization). The comment is an optional String that will appear aligned right. If the JComponent is provided as a null value, a default JPanel will appear in its place, and can be obtained with getInnerComponent().

The parameter container is optional, as an ExpandablePanel can have any container as a parent. However, if provided as a JDialog, it is packed upon instantiation of the ExpandablePanel.

Parameters:
container - the optional parent container
title - the optional title string
comment - the optional comment string
component - the JComponent to be embedded (a JList, JPanel, etc.)
Method Detail

setExpandable

public void setExpandable(boolean expandable)
Sets the visibility of the expandable button.

Specified by:
setExpandable in interface Expandable

isMaximized

public boolean isMaximized()
Returns true if the embedded panel is currently maximized.

An implementing method of the Expandable interface.

Specified by:
isMaximized in interface Expandable

setMaximized

public void setMaximized(boolean maximized)
Set the maximized (i.e., visible) state of the embedded JComponent.

An implementing method of the Expandable interface.

Specified by:
setMaximized in interface Expandable

setTitle

public void setTitle(String title)
Set the title text to the String title.


setComment

public void setComment(String comment)
Set the comment text to the String comment.


getComponent

public JComponent getComponent()
Return the embedded JComponent.



The Ceryle Project. Copyright ©2001-2007 Murray Altheim, All Rights Reserved. See LICENSE included with distribution.