com.netbreeze.swing
Class ClassSelectionList

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--com.netbreeze.swing.ClassSelectionList
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ClassSelectionList
extends javax.swing.JPanel

A JavaBean-compatible GUI component consisting of list with name of the classes provided in constructor and label component containing package name for selected in list component class. List cells are rendered with pictures corresponds with class type.

Author:
Marcin Slowik & Henrik Kniberg
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
static java.lang.String ICON_ABSTRACT_CLASS
           
static java.lang.String ICON_CLASS
           
static java.lang.String ICON_INTERFACE
           
static java.lang.String ICON_PACKAGE
           
static java.lang.String PROP_SELECTED_CLASS
           
 
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
ClassSelectionList()
           
ClassSelectionList(java.lang.String packageName, java.lang.Class ancestor)
           
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener l)
          Add a PropertyChangeListener to the listener list.
 java.lang.Class getAncestor()
          The class to which all shown classes must be ancestor
 int getListSelectionMode()
          get list selection mode.
 int getListVisibleRowCount()
          get list visible row count
 java.lang.String getPackageName()
          The name of the package to which all shown classes must belong.
 java.lang.Class getSelectedClass()
          Getter for property selectedClass.
 java.lang.String getTitle()
           
static void main(java.lang.String[] args)
           
 void refreshClassList()
          Causes the contents of the list to be reloaded.
 void removePropertyChangeListener(java.beans.PropertyChangeListener l)
          Removes a PropertyChangeListener from the listener list.
 void setAncestor(java.lang.Class ancestor)
           
 void setListFixedCellWidth(int width)
          If this value is greater than zero it defines the width of every cell in the list.
 void setListSelectionMode(int mode)
          set list selection mode
 void setListVisibleRowCount(int rowcount)
          set list visible row count
 void setPackageName(java.lang.String packageName)
           
 void setSelectedClass(java.lang.Class selectedClass)
          Setter for property selectedClass.
 void setTitle(java.lang.String title)
           
 
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, 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, 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, removeAll, 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

ICON_CLASS

public static final java.lang.String ICON_CLASS

ICON_ABSTRACT_CLASS

public static final java.lang.String ICON_ABSTRACT_CLASS

ICON_INTERFACE

public static final java.lang.String ICON_INTERFACE

ICON_PACKAGE

public static final java.lang.String ICON_PACKAGE

PROP_SELECTED_CLASS

public static final java.lang.String PROP_SELECTED_CLASS
Constructor Detail

ClassSelectionList

public ClassSelectionList(java.lang.String packageName,
                          java.lang.Class ancestor)

ClassSelectionList

public ClassSelectionList()
Method Detail

refreshClassList

public void refreshClassList()
                      throws java.io.IOException
Causes the contents of the list to be reloaded. Called automatically whenever the ancestor or package is changed

setTitle

public void setTitle(java.lang.String title)

getTitle

public java.lang.String getTitle()

setPackageName

public void setPackageName(java.lang.String packageName)
See Also:
getPackageName()

getPackageName

public java.lang.String getPackageName()
The name of the package to which all shown classes must belong.

setAncestor

public void setAncestor(java.lang.Class ancestor)
See Also:
getAncestor()

getAncestor

public java.lang.Class getAncestor()
The class to which all shown classes must be ancestor

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Add a PropertyChangeListener to the listener list.
Overrides:
addPropertyChangeListener in class javax.swing.JComponent
Parameters:
l - The listener to add.

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Removes a PropertyChangeListener from the listener list.
Overrides:
removePropertyChangeListener in class javax.swing.JComponent
Parameters:
l - The listener to remove.

getSelectedClass

public java.lang.Class getSelectedClass()
Getter for property selectedClass.
Returns:
Value of property selectedClass.

setSelectedClass

public void setSelectedClass(java.lang.Class selectedClass)
Setter for property selectedClass.
Parameters:
selectedClass - New value of property selectedClass.

setListFixedCellWidth

public void setListFixedCellWidth(int width)
If this value is greater than zero it defines the width of every cell in the list. Otherwise cell widths are computed by applying getPreferredSize() to the cellRenderer component for each list element.
Parameters:
width - the width for all cells in this list

getListSelectionMode

public int getListSelectionMode()
get list selection mode.
Returns:
List selection mode.
See Also:
javax.swing.JList#getSelectionMode(int )

setListSelectionMode

public void setListSelectionMode(int mode)
set list selection mode
Parameters:
mode - an int specifying the type of selections that are permissible
See Also:
JList.setSelectionMode(int )

getListVisibleRowCount

public int getListVisibleRowCount()
get list visible row count
See Also:
JList.getVisibleRowCount()

setListVisibleRowCount

public void setListVisibleRowCount(int rowcount)
set list visible row count
Parameters:
rowcount - an int specifying the preferred number of visible rows
See Also:
JList.setVisibleRowCount(int )

main

public static void main(java.lang.String[] args)