Package de.sciss.gui
Class KeyStrokeTextField
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JTextField
-
- de.sciss.gui.KeyStrokeTextField
-
- All Implemented Interfaces:
DynamicListening,LaterInvocationManager.Listener,PreferenceEntrySync,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,java.util.prefs.PreferenceChangeListener,javax.accessibility.Accessible,javax.swing.Scrollable,javax.swing.SwingConstants
public class KeyStrokeTextField extends javax.swing.JTextField implements DynamicListening, java.util.prefs.PreferenceChangeListener, LaterInvocationManager.Listener, PreferenceEntrySync
A specialized textfield that records a keystroke shortcut. Preferences are stored as a string of two integers separated by a comma : "keyCode,modifiers"- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.swing.KeyStrokeguiStrokeprotected booleanwritePrefs-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description KeyStrokeTextField()Creates a new emptyKeyStrokeTextFieldwith no preferences initially setKeyStrokeTextField(javax.swing.KeyStroke stroke)Creates a newKeyStrokeTextFieldwith no preferences initially set
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetPreferenceKey()Gets the recently set preference keyjava.util.prefs.PreferencesgetPreferenceNode()Gets the recently set preference nodebooleangetReadPrefs()booleangetWritePrefs()voidlaterInvocation(java.lang.Object o)Called later in the event thread, this passes the object given to the queue methodvoidpreferenceChange(java.util.prefs.PreferenceChangeEvent e)static javax.swing.KeyStrokeprefsToStroke(java.lang.String prefsValue)Converts a a key stroke's string representation as from preference storage into a KeyStroke object.voidreadPrefs()voidsetPreferenceKey(java.lang.String key)voidsetPreferenceNode(java.util.prefs.Preferences prefs)voidsetPreferences(java.util.prefs.Preferences prefs, java.lang.String key)Enables Preferences synchronization.voidsetReadPrefs(boolean b)voidsetWritePrefs(boolean b)voidstartListening()will be called when the component becomes visiblevoidstopListening()will be called when the component is hiddenstatic java.lang.StringstrokeToPrefs(javax.swing.KeyStroke prefsStroke)Converts a KeyStroke into a string representation for preference storage.voidwritePrefs()-
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
-
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, viewToModel2D, write
-
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, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, 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, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
KeyStrokeTextField
public KeyStrokeTextField()
Creates a new emptyKeyStrokeTextFieldwith no preferences initially set
-
KeyStrokeTextField
public KeyStrokeTextField(javax.swing.KeyStroke stroke)
Creates a newKeyStrokeTextFieldwith no preferences initially set- Parameters:
stroke- the initial gadget's key stroke content
-
-
Method Detail
-
setReadPrefs
public void setReadPrefs(boolean b)
- Specified by:
setReadPrefsin interfacePreferenceEntrySync
-
getReadPrefs
public boolean getReadPrefs()
- Specified by:
getReadPrefsin interfacePreferenceEntrySync
-
setWritePrefs
public void setWritePrefs(boolean b)
- Specified by:
setWritePrefsin interfacePreferenceEntrySync
-
getWritePrefs
public boolean getWritePrefs()
- Specified by:
getWritePrefsin interfacePreferenceEntrySync
-
prefsToStroke
public static final javax.swing.KeyStroke prefsToStroke(java.lang.String prefsValue)
Converts a a key stroke's string representation as from preference storage into a KeyStroke object.- Parameters:
prefsValue- a string representation of the form "modifiers keyCode" ornull- Returns:
- the KeyStroke parsed from the prefsValue or null if the string was
invalid or
null
-
strokeToPrefs
public static final java.lang.String strokeToPrefs(javax.swing.KeyStroke prefsStroke)
Converts a KeyStroke into a string representation for preference storage.- Parameters:
prefsStroke- the KeyStroke to convert- Returns:
- a string representation of the form "modifiers keyCode"
or
nullif the prefsStroke is invalid ornull
-
writePrefs
public void writePrefs()
- Specified by:
writePrefsin interfacePreferenceEntrySync
-
setPreferenceNode
public void setPreferenceNode(java.util.prefs.Preferences prefs)
- Specified by:
setPreferenceNodein interfacePreferenceEntrySync
-
setPreferenceKey
public void setPreferenceKey(java.lang.String key)
- Specified by:
setPreferenceKeyin interfacePreferenceEntrySync
-
setPreferences
public void setPreferences(java.util.prefs.Preferences prefs, java.lang.String key)Description copied from interface:PreferenceEntrySyncEnables 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:
setPreferencesin interfacePreferenceEntrySync- 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:PreferenceEntrySyncGets the recently set preference node- Specified by:
getPreferenceNodein interfacePreferenceEntrySync- Returns:
- the node set with setPreferences or null if no prefs were set
-
getPreferenceKey
public java.lang.String getPreferenceKey()
Description copied from interface:PreferenceEntrySyncGets the recently set preference key- Specified by:
getPreferenceKeyin interfacePreferenceEntrySync- Returns:
- the key set with setPreferences or null if no prefs were set
-
startListening
public void startListening()
Description copied from interface:DynamicListeningwill be called when the component becomes visible- Specified by:
startListeningin interfaceDynamicListening
-
stopListening
public void stopListening()
Description copied from interface:DynamicListeningwill be called when the component is hidden- Specified by:
stopListeningin interfaceDynamicListening
-
laterInvocation
public void laterInvocation(java.lang.Object o)
Description copied from interface:LaterInvocationManager.ListenerCalled later in the event thread, this passes the object given to the queue method- Specified by:
laterInvocationin interfaceLaterInvocationManager.Listener- Parameters:
o- object as passed toqueue
-
readPrefs
public void readPrefs()
- Specified by:
readPrefsin interfacePreferenceEntrySync
-
preferenceChange
public void preferenceChange(java.util.prefs.PreferenceChangeEvent e)
- Specified by:
preferenceChangein interfacejava.util.prefs.PreferenceChangeListener
-
-