net.sf.sbcc.colorpanel
Class JColorArrayPanel

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.sf.sbcc.colorpanel.JColorArrayPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class JColorArrayPanel
extends javax.swing.JPanel

This component is designed to display a panel filled up with several color fields as a selection. Users can select 2 different colors, e.g. foreground- and background color. The component itself does NOT show you which colors are selected, you have to use other components to do this. When using this component, you can decide which colors to display as possible selections, how many columns (or rows) can be used, and in which direction you want to fill up the component [see void setOrientation(int), int getOrientation()]. When you fill your component line-by-line, (HORIZONTAL), you can define how many columns to use before the component should insert a line break and start up with the next line. When you fill your component column-by-column (VERTICAL), you can define how many lines to be used before starting with the next column. [see: setBreakCount(int), int getBreakCount()]. When the user changed the value currently selected you will be notified by a ListModelListener which has the ColorPanelModel in its event parameter.

See Also:
Serialized Form

Nested Class Summary
private  class JColorArrayPanel.ColorArrayRenderer
          The ColorArrayRenderer is based on a JTextField because its UI implementations concern about the different borders for L&F
private  class JColorArrayPanel.ColorPanelModel
           
private  class JColorArrayPanel.RendererMouseAdapter
           
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  int breakCount
          it's dependent of the orientation if it's columns (orientation HORIZONTAL) or rows (orientation VERTICAL)
static int HORIZONTAL
           
private  JColorArrayPanel.ColorPanelModel model
           
private  int orientation
           
private  java.awt.event.MouseListener rendererMouseAdapter
           
private static long serialVersionUID
           
static int VERTICAL
           
 
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
JColorArrayPanel()
           
JColorArrayPanel(java.awt.Color[] items)
           
JColorArrayPanel(java.util.Vector<java.awt.Color> items)
           
 
Method Summary
private  java.awt.Component _createDefaultRenderer(java.awt.Color p_color)
           
private  java.awt.Component _createRenderer(java.awt.Color p_color)
           
private  void _increaseGridBagConstraints(java.awt.GridBagConstraints F_gbc)
           
private  void _relayoutRenderers()
           
 void addItem(java.awt.Color P_color)
           
 int getBreakCount()
           
 java.awt.Dimension getMaximumSize()
           
 java.awt.Dimension getMinimumSize()
           
(package private)  java.awt.GridBagConstraints getNextComponentGridBagConstraints(int F_installedComponents)
           
protected  int getOrientation()
           
 java.awt.Dimension getPreferredSize()
           
 void setBreakCount(int Pi_maxColumns)
          sets the number of columns used to layout the renderers.
private  void setModel(JColorArrayPanel.ColorPanelModel object)
           
 void setOrientation(int orientation)
           
 
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, getNextFocusableComponent, getPopupLocation, 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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

HORIZONTAL

public static final int HORIZONTAL
See Also:
Constant Field Values

VERTICAL

public static final int VERTICAL
See Also:
Constant Field Values

breakCount

private int breakCount
it's dependent of the orientation if it's columns (orientation HORIZONTAL) or rows (orientation VERTICAL)


orientation

private int orientation

model

private JColorArrayPanel.ColorPanelModel model

rendererMouseAdapter

private java.awt.event.MouseListener rendererMouseAdapter
Constructor Detail

JColorArrayPanel

public JColorArrayPanel(java.awt.Color[] items)
Parameters:
items -

JColorArrayPanel

public JColorArrayPanel(java.util.Vector<java.awt.Color> items)
Parameters:
items -

JColorArrayPanel

public JColorArrayPanel()
Method Detail

setModel

private void setModel(JColorArrayPanel.ColorPanelModel object)

addItem

public void addItem(java.awt.Color P_color)

_createRenderer

private java.awt.Component _createRenderer(java.awt.Color p_color)

_createDefaultRenderer

private java.awt.Component _createDefaultRenderer(java.awt.Color p_color)

getNextComponentGridBagConstraints

java.awt.GridBagConstraints getNextComponentGridBagConstraints(int F_installedComponents)

_increaseGridBagConstraints

private void _increaseGridBagConstraints(java.awt.GridBagConstraints F_gbc)
Parameters:
F_gbc - will be modified in this method!

_relayoutRenderers

private void _relayoutRenderers()

setBreakCount

public void setBreakCount(int Pi_maxColumns)
sets the number of columns used to layout the renderers.

Parameters:
Pi_maxColumns -

getBreakCount

public int getBreakCount()
Returns:
Returns the maxColumns.

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class javax.swing.JComponent

getMaximumSize

public java.awt.Dimension getMaximumSize()
Overrides:
getMaximumSize in class javax.swing.JComponent

getOrientation

protected int getOrientation()
Returns:
Returns the orientation.

setOrientation

public void setOrientation(int orientation)
Parameters:
orientation - The orientation to set.