de.sciss.gui
Class PrefRecentItemsCombo

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JComboBox
                  extended by de.sciss.gui.PrefRecentItemsCombo
All Implemented Interfaces:
DynamicListening, LaterInvocationManager.Listener, PreferenceEntrySync, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, java.util.prefs.PreferenceChangeListener, javax.accessibility.Accessible, javax.swing.event.ListDataListener

public class PrefRecentItemsCombo
extends javax.swing.JComboBox
implements DynamicListening, java.util.prefs.PreferenceChangeListener, LaterInvocationManager.Listener, PreferenceEntrySync

Version:
0.31, 17-Apr-07
Author:
Hanns Holger Rutz
See Also:
PreferenceChangeListener, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
 
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
protected  ComboBoxEditor editor
           
protected  int maxItems
           
protected  boolean writePrefs
           
 
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
 
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
PrefRecentItemsCombo(ComboBoxEditor editor, int maxItems)
          Creates a new PrefRecentItemsCombo with default data model and no initial preferences set.
 
Method Summary
 java.lang.String getPreferenceKey()
          Gets the recently set preference key
 java.util.prefs.Preferences getPreferenceNode()
          Gets the recently set preference node
 boolean getReadPrefs()
           
 boolean getWritePrefs()
           
 void laterInvocation(java.lang.Object o)
          Called later in the event thread, this passes the object given to the queue method
 void preferenceChange(java.util.prefs.PreferenceChangeEvent e)
           
 void readPrefs()
           
 void setPreferenceKey(java.lang.String key)
           
 void setPreferenceNode(java.util.prefs.Preferences prefs)
           
 void setPreferences(java.util.prefs.Preferences prefs, java.lang.String key)
          Enables Preferences synchronization.
 void setReadPrefs(boolean b)
           
 void setWritePrefs(boolean b)
           
 void startListening()
          will be called when the component becomes visible
 void stopListening()
          will be called when the component is hidden
 void writePrefs()
           
 
Methods inherited from class javax.swing.JComboBox
actionPerformed, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, 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, 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, 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

editor

protected final ComboBoxEditor editor

maxItems

protected final int maxItems

writePrefs

protected boolean writePrefs
Constructor Detail

PrefRecentItemsCombo

public PrefRecentItemsCombo(ComboBoxEditor editor,
                            int maxItems)
Creates a new PrefRecentItemsCombo with default data model and no initial preferences set.

Method Detail

setReadPrefs

public void setReadPrefs(boolean b)
Specified by:
setReadPrefs in interface PreferenceEntrySync

getReadPrefs

public boolean getReadPrefs()
Specified by:
getReadPrefs in interface PreferenceEntrySync

setWritePrefs

public void setWritePrefs(boolean b)
Specified by:
setWritePrefs in interface PreferenceEntrySync

getWritePrefs

public boolean getWritePrefs()
Specified by:
getWritePrefs in interface PreferenceEntrySync

writePrefs

public void writePrefs()
Specified by:
writePrefs in interface PreferenceEntrySync

setPreferenceNode

public void setPreferenceNode(java.util.prefs.Preferences prefs)
Specified by:
setPreferenceNode in interface PreferenceEntrySync

setPreferenceKey

public void setPreferenceKey(java.lang.String key)
Specified by:
setPreferenceKey in interface PreferenceEntrySync

setPreferences

public void setPreferences(java.util.prefs.Preferences prefs,
                           java.lang.String key)
Description copied from interface: PreferenceEntrySync
Enables Preferences synchronization. This method is not thread safe and must be called from the event thread. When a preference change is received, the GUI is updated and dispatches an event to registered listeners. Likewise, if the user adjusts the GUI value, the preference will be updated. The same is true, if you call one of the value changing methods.

Specified by:
setPreferences in interface PreferenceEntrySync
Parameters:
prefs - the preferences node in which the value is stored, or null to disable prefs sync.
key - the key used to store and recall prefs. the value is converted into a string.

getPreferenceNode

public java.util.prefs.Preferences getPreferenceNode()
Description copied from interface: PreferenceEntrySync
Gets the recently set preference node

Specified by:
getPreferenceNode in interface PreferenceEntrySync
Returns:
the node set with setPreferences or null if no prefs were set

getPreferenceKey

public java.lang.String getPreferenceKey()
Description copied from interface: PreferenceEntrySync
Gets the recently set preference key

Specified by:
getPreferenceKey in interface PreferenceEntrySync
Returns:
the key set with setPreferences or null if no prefs were set

startListening

public void startListening()
Description copied from interface: DynamicListening
will be called when the component becomes visible

Specified by:
startListening in interface DynamicListening

stopListening

public void stopListening()
Description copied from interface: DynamicListening
will be called when the component is hidden

Specified by:
stopListening in interface DynamicListening

laterInvocation

public void laterInvocation(java.lang.Object o)
Description copied from interface: LaterInvocationManager.Listener
Called later in the event thread, this passes the object given to the queue method

Specified by:
laterInvocation in interface LaterInvocationManager.Listener
Parameters:
o - object as passed to queue

readPrefs

public void readPrefs()
Specified by:
readPrefs in interface PreferenceEntrySync

preferenceChange

public void preferenceChange(java.util.prefs.PreferenceChangeEvent e)
Specified by:
preferenceChange in interface java.util.prefs.PreferenceChangeListener