Package de.sciss.gui
Class UnitLabel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- de.sciss.gui.UnitLabel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.Icon,javax.swing.SwingConstants
public class UnitLabel extends javax.swing.JLabel implements javax.swing.Icon, java.beans.PropertyChangeListenerThis class extendsJLabelby adding support for a list of labels which can be easily switched programmatically or by the user to whom a popup menu is presented whenever there is more than one label item. This is useful for adding switchable unit labels to number fields and is used by theParamFieldclass. You can think ofUnitLabelas aJComboBoxwhich uses a text and/or icon label as renderer and not a button.- See Also:
ParamField, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected booleancycleprotected javax.swing.JPopupMenupopprotected intselectedIdxprotected java.util.Listunits-
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 UnitLabel()Creates a new empty label.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddActionListener(java.awt.event.ActionListener l)Registers a new listener to be informed about unit switches.voidaddUnit(java.lang.String name)Adds a new unit (text label) to the end of the label list.voidaddUnit(java.lang.String name, javax.swing.Icon icon)Adds a new unit (text/icon combo label) to the end of the label list.voidaddUnit(javax.swing.Icon icon)Adds a new unit (icon label) to the end of the label list.protected voidfireUnitChanged()booleangetCycling()intgetIconHeight()This method is part of the implementation of theIconinterface and should not be called directly.intgetIconWidth()This method is part of the implementation of theIconinterface and should not be called directly.intgetSelectedIndex()Queries the index of the currently selected unit.javax.swing.ActiongetSelectedUnit()Queries the action for selected index.javax.swing.ActiongetUnit(int idx)Queries the action for a given index.voidpaintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)This method is part of the implementation of theIconinterface and should not be called directly.voidpropertyChange(java.beans.PropertyChangeEvent e)ForwardsFontproperty changes to the child gadgetsvoidremoveActionListener(java.awt.event.ActionListener l)Unregisters a new listener from being informed about unit switches.voidsetCycling(boolean b)voidsetSelectedIndex(int idx)Changes the currently selected unit.-
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Method Detail
-
getSelectedIndex
public int getSelectedIndex()
Queries the index of the currently selected unit.- Returns:
- the index of the active unit or
-1if no unit has been selected
-
getUnit
public javax.swing.Action getUnit(int idx)
Queries the action for a given index. This action may contain aNAMEorICONfield.- Returns:
- the action at the given index
-
getSelectedUnit
public javax.swing.Action getSelectedUnit()
Queries the action for selected index. This action may contain aNAMEorICONfield.- Returns:
- the action at the selected index or
nullif no unit is selected
-
setSelectedIndex
public void setSelectedIndex(int idx)
Changes the currently selected unit. This method does not fire an action event.- Parameters:
idx- the new index. Values outside the allowed range (0 ... numUnits-1) are ignored.
-
addUnit
public void addUnit(java.lang.String name)
Adds a new unit (text label) to the end of the label list. If the unit list was priorly empty, this new label will be selected.- Parameters:
name- the name of the new label.
-
addUnit
public void addUnit(javax.swing.Icon icon)
Adds a new unit (icon label) to the end of the label list. If the unit list was priorly empty, this new label will be selected.- Parameters:
icon- the icon view of the new label.
-
addUnit
public void addUnit(java.lang.String name, javax.swing.Icon icon)Adds a new unit (text/icon combo label) to the end of the label list. If the unit list was priorly empty, this new label will be selected.- Parameters:
name- the name of the new label.icon- the icon view of the new label.
-
setCycling
public void setCycling(boolean b)
-
getCycling
public boolean getCycling()
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
ForwardsFontproperty changes to the child gadgets- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
fireUnitChanged
protected void fireUnitChanged()
-
addActionListener
public void addActionListener(java.awt.event.ActionListener l)
Registers a new listener to be informed about unit switches. Whenever the user switches the unit by selecting an item from the popup menu, anActionEventis fired and delivered to all registered listeners.- Parameters:
l- the listener to register
-
removeActionListener
public void removeActionListener(java.awt.event.ActionListener l)
Unregisters a new listener from being informed about unit switches.- Parameters:
l- the listener to unregister
-
getIconWidth
public int getIconWidth()
This method is part of the implementation of theIconinterface and should not be called directly.- Specified by:
getIconWidthin interfacejavax.swing.Icon
-
getIconHeight
public int getIconHeight()
This method is part of the implementation of theIconinterface and should not be called directly.- Specified by:
getIconHeightin interfacejavax.swing.Icon
-
paintIcon
public void paintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)This method is part of the implementation of theIconinterface and should not be called directly.- Specified by:
paintIconin interfacejavax.swing.Icon
-
-