Package jmri.jmrit.display
Class AudioIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- jmri.jmrit.display.PositionableLabel
-
- jmri.jmrit.display.AudioIcon
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.lang.Cloneable,javax.accessibility.Accessible,javax.swing.SwingConstants,Positionable,InlineLogixNG
public class AudioIcon extends PositionableLabel
An icon that plays an audio on a web panel.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAudioIcon.IdentityManagerstatic classAudioIcon.OnClickOperation-
Nested classes/interfaces inherited from class jmri.jmrit.display.PositionableLabel
PositionableLabel.PaletteFrameCloser
-
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
-
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from interface jmri.jmrit.display.Positionable
Positionable.DuplicateIdException
-
-
Field Summary
Fields Modifier and Type Field Description static AudioIcon.IdentityManagerIDENTITY_MANAGERstatic java.lang.StringPROPERTY_COMMANDstatic java.lang.StringPROPERTY_COMMAND_PLAYstatic java.lang.StringPROPERTY_COMMAND_STOP-
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _emptyHidden, _hidden, _icon, _iconEditor, _iconEditorFrame, _iconItemPanel, _itemPanel, _namedIcon, _paletteFrame, _popupUtil, _positionable, _rotateText, _showTooltip, _text, _tooltip, _unRotatedText, _valueEditDisabled, _viewCoordinates, active, disableItem
-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PositionabledeepClone()Make a deep copy of Positional object.voiddoMousePressed(JmriMouseEvent e)protected voidedit()protected voideditIcon()AudiogetAudio()intgetIdentity()NamedBeanHandle<Audio>getNamedAudio()NamedBeangetNamedBean()Provide a generic method to return the bean associated with the Positionable.java.lang.StringgetNameString()Get the name of the positional as a String.AudioIcon.OnClickOperationgetOnClickOperation()booleangetPlaySoundWhenJmriPlays()booleangetStopSoundWhenJmriStops()java.lang.StringgetTypeString()Get the type of the positional as a String.voidplay()voidsetAudio(java.lang.String pName)Attached a named audio to this display itemvoidsetAudio(NamedBeanHandle<Audio> s)Attached a named audio to this display itemvoidsetOnClickOperation(AudioIcon.OnClickOperation operation)voidsetPlaySoundWhenJmriPlays(boolean value)voidsetStopSoundWhenJmriStops(boolean value)booleanshowPopUp(javax.swing.JPopupMenu popup)Pop-up just displays the audio name.voidstop()(package private) voidupdateAudio()-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, dispose, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMouseReleased, doViemMenu, editIconItem, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getHeight, getId, getLogixNG, getPopupUtility, getScale, getSize, getTextComponent, getToolTip, getUnRotatedText, getViewCoordinates, getWidth, initPaletteFrame, isActive, isBackground, isControl, isControlling, isEditable, isEmptyHidden, isHidden, isIcon, isPositionable, isRotated, isText, isValueEditDisabled, makeIconEditorFrame, makePaletteFrame, makeTextOverlaidIcon, maxHeight, maxHeightTrue, maxWidth, maxWidthTrue, paintComponent, remove, removeAllClasses, removeClass, rotate, rotateOrthogonal, setControlling, setDegrees, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditItemMenu, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScale, setScaleMenu, setShowToolTip, setSuperText, setText, setTextEditMenu, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, showEmptyHidden, showHidden, showToolTip, storeItem, updateIcon, updateSize, updateTextItem
-
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, 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, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.jmrit.display.Positionable
contains, getBackground, getBounds, getEditorName, getFont, getForeground, getLocation, getParent, getPreferredSize, getTypeName, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
-
-
-
-
Field Detail
-
PROPERTY_COMMAND
public static final java.lang.String PROPERTY_COMMAND
- See Also:
- Constant Field Values
-
PROPERTY_COMMAND_PLAY
public static final java.lang.String PROPERTY_COMMAND_PLAY
- See Also:
- Constant Field Values
-
PROPERTY_COMMAND_STOP
public static final java.lang.String PROPERTY_COMMAND_STOP
- See Also:
- Constant Field Values
-
IDENTITY_MANAGER
public static final AudioIcon.IdentityManager IDENTITY_MANAGER
-
-
Constructor Detail
-
AudioIcon
public AudioIcon(@CheckForNull NamedIcon s, @Nonnull Editor editor)
-
AudioIcon
public AudioIcon(int identity, @CheckForNull NamedIcon s, @Nonnull Editor editor)
-
-
Method Detail
-
deepClone
public Positionable deepClone()
Description copied from interface:PositionableMake a deep copy of Positional object. Implementation should create a new object and immediately pass the object to finishClone() returning the result of finishClone(). i.e. implementation must be:public Positionable deepClone() { Subtype t = new Subtype(); return finishClone(t); }Then finishClone() finishes the deep Copy of a Positional object. Implementation should make deep copies of the additional members of this sub class and then pass Positionable p to super.finishClone(). i.e. implementation must terminate with statement return super.finishClone(p); See IndicatorTurnoutIcon extends TurnoutIcon extends PositionableLabel for an example of how to continue deep cloning a chain of subclasses.
- Specified by:
deepClonein interfacePositionable- Overrides:
deepClonein classPositionableLabel- Returns:
- the copy
-
getTypeString
@Nonnull public java.lang.String getTypeString()
Description copied from interface:PositionableGet the type of the positional as a String.- Specified by:
getTypeStringin interfacePositionable- Overrides:
getTypeStringin classPositionableLabel- Returns:
- the type to display
-
getNameString
@Nonnull public java.lang.String getNameString()
Description copied from interface:PositionableGet the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameStringin interfaceInlineLogixNG- Specified by:
getNameStringin interfacePositionable- Overrides:
getNameStringin classPositionableLabel- Returns:
- the name to display
-
getIdentity
public int getIdentity()
-
setAudio
public void setAudio(java.lang.String pName)
Attached a named audio to this display item- Parameters:
pName- System/user name to lookup the audio object
-
setAudio
public void setAudio(NamedBeanHandle<Audio> s)
Attached a named audio to this display item- Parameters:
s- the Audio
-
getNamedBean
public NamedBean getNamedBean()
Description copied from class:PositionableLabelProvide a generic method to return the bean associated with the Positionable.- Specified by:
getNamedBeanin interfacePositionable- Overrides:
getNamedBeanin classPositionableLabel
-
getNamedAudio
public NamedBeanHandle<Audio> getNamedAudio()
-
setOnClickOperation
public void setOnClickOperation(AudioIcon.OnClickOperation operation)
-
getOnClickOperation
public AudioIcon.OnClickOperation getOnClickOperation()
-
setPlaySoundWhenJmriPlays
public void setPlaySoundWhenJmriPlays(boolean value)
-
getPlaySoundWhenJmriPlays
public boolean getPlaySoundWhenJmriPlays()
-
setStopSoundWhenJmriStops
public void setStopSoundWhenJmriStops(boolean value)
-
getStopSoundWhenJmriStops
public boolean getStopSoundWhenJmriStops()
-
play
public void play()
-
stop
public void stop()
-
edit
protected void edit()
- Overrides:
editin classPositionableLabel
-
updateAudio
void updateAudio()
-
editIcon
protected void editIcon()
- Overrides:
editIconin classPositionableLabel
-
doMousePressed
public void doMousePressed(JmriMouseEvent e)
- Specified by:
doMousePressedin interfacePositionable- Overrides:
doMousePressedin classPositionableLabel
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Pop-up just displays the audio name.- Specified by:
showPopUpin interfacePositionable- Overrides:
showPopUpin classPositionableLabel- Parameters:
popup- the menu to display- Returns:
- always true
-
-