Package jmri.jmrit.display
Class PositionableJPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.jmrit.display.PositionableJPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Cloneable,EventListener,Accessible,Positionable,InlineLogixNG,JmriMouseListener,JmriMouseMotionListener
- Direct Known Subclasses:
GlobalVariableInputIcon,GlobalVariableSpinnerIcon,MemoryInputIcon,MemoryOrGVComboIcon,MemorySpinnerIcon
public class PositionableJPanel
extends JPanel
implements Positionable, JmriMouseListener, JmriMouseMotionListener
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategyNested classes/interfaces inherited from interface jmri.jmrit.display.Positionable
Positionable.DuplicateIdException -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected intprotected booleanprotected Editorprotected booleanprotected boolean(package private) IconAdder(package private) JFrame(package private) TextItemPanel(package private) PositionablePopupUtil************************************************************protected booleanprotected booleanprotected boolean(package private) boolean(package private) JMenuItem(package private) JCheckBoxMenuItemFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a class name to this Positionable(package private) voidcleanup()To be overridden if any special work needs to be doneMake a deep copy of Positional object.voiddoMouseClicked(JmriMouseEvent event) voiddoMouseDragged(JmriMouseEvent event) voiddoMouseEntered(JmriMouseEvent event) voiddoMouseExited(JmriMouseEvent event) voiddoMouseMoved(JmriMouseEvent event) voiddoMousePressed(JmriMouseEvent event) voiddoMouseReleased(JmriMouseEvent event) booleanUse the 'Standard' presentation of the popup menu items.(package private) voidedit()protected voidprotected PositionablevoidfinishItemUpdate(DisplayFrame paletteFrame, ItemPanel itemPanel) Gets the class names of this PositionableintintgetId()Gets the Id of this PositionableGet the LogixNG of this InlineLogixNG.Get the name of the positional as a String.Utility to handle Margins, Borders and other common popup itemsdoublegetScale()Get the type of the positional as a String.booleanvoidinitPaletteFrame(DisplayFrame paletteFrame, ItemPanel itemPanel) booleanisActive()booleanbooleanbooleanbooleanisHidden()booleanbooleanprotected voidmakeIconEditorFrame(Container pos, String name, boolean table, IconAdder editor) makePaletteFrame(String title) Create a palette window.intintmaxWidth()voidInvoked when the mouse button has been clicked (pressed and released) on a component.voidInvoked when a mouse button is pressed on a component and then dragged.voidInvoked when the mouse enters a component.voidInvoked when the mouse exits a component.voidInvoked when the mouse cursor has been moved onto a component but no buttons have been pushed.voidInvoked when a mouse button has been pressed on a component.voidInvoked when a mouse button has been released on a component.voidremove()Removes this object from display and persistancevoidRemove a class name to this PositionablevoidremoveClass(String className) Remove a class name to this Positionablevoidrotate(int deg) voidsetControlling(boolean enabled) booleansetDisableControlMenu(JPopupMenu popup) Add additional menu items to the menu.voidsetDisplayLevel(int l) voidsetEditable(boolean enabled) booleansetEditIconMenu(JPopupMenu popup) Add additional menu items to the menu.booleansetEditItemMenu(JPopupMenu popup) Add additional menu items to the menu.voidbooleansetEditTextItemMenu(JPopupMenu popup) voidsetEmptyHidden(boolean hide) voidsetHidden(boolean hide) voidSets the Id of this PositionablevoidsetLevel(int l) voidsetLogixNG(LogixNG logixNG) Set the LogixNG of this InlineLogixNG.voidsetLogixNG_SystemName(String systemName) Set the system name for the LogixNG of this InlineLogixNG.voidvoidsetPositionable(boolean enabled) booleansetRotateMenu(JPopupMenu popup) Add additional menu items to the menu.booleanFor over-riding in the using classes: add item specific menu choicesvoidsetScale(double s) booleansetScaleMenu(JPopupMenu popup) Add additional menu items to the menu.voidsetShowToolTip(boolean set) booleansetTextEditMenu(JPopupMenu popup) Add additional menu items to the menu.voidsetToolTip(ToolTip tip) voidSetup the LogixNG of this InlineLogixNG.voidsetValueEditDisabled(boolean isDisabled) voidsetViewCoordinates(boolean enabled) voidbooleanshowPopUp(JPopupMenu popup) booleanbooleanCheck if a permanent copy of this Positionable should be stored.voidUpdate the AWT and Swing size information due to change in internal state, e.g. if one or more of the icons that might be displayed is changedprotected voidMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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, 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.jmrit.display.Positionable
contains, getBackground, getBounds, getEditorName, getFont, getForeground, getHeight, getLocation, getParent, getPreferredSize, getTypeName, getWidth, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
-
Field Details
-
_editor
-
_showTooltip
-
_editable
-
_positionable
-
_viewCoordinates
-
_controlling
-
_emptyHidden
-
_displayLevel
-
lock
-
showTooltipItem
-
_itemPanel
-
_paletteFrame
-
_iconEditorFrame
-
_iconEditor
-
active
boolean active -
_popupUtil
************************************************************
-
-
Constructor Details
-
PositionableJPanel
-
-
Method Details
-
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- Returns:
- the copy
-
finishClone
-
setId
Sets the Id of this Positionable- Specified by:
setIdin interfacePositionable- Parameters:
id- the id or null if no id- Throws:
Positionable.DuplicateIdException- if another Positionable in the editor already has this id
-
getId
Gets the Id of this Positionable- Specified by:
getIdin interfacePositionable- Returns:
- the id or null if no id
-
addClass
Add a class name to this Positionable- Specified by:
addClassin interfacePositionable- Parameters:
className- the class name
-
removeClass
Remove a class name to this Positionable- Specified by:
removeClassin interfacePositionable- Parameters:
className- the class name
-
removeAllClasses
Remove a class name to this Positionable- Specified by:
removeAllClassesin interfacePositionable
-
getClasses
Gets the class names of this Positionable- Specified by:
getClassesin interfacePositionable- Returns:
- the classes
-
setPositionable
- Specified by:
setPositionablein interfacePositionable
-
isPositionable
- Specified by:
isPositionablein interfacePositionable
-
setEditable
- Specified by:
setEditablein interfacePositionable
-
isEditable
- Specified by:
isEditablein interfacePositionable
-
setViewCoordinates
- Specified by:
setViewCoordinatesin interfacePositionable
-
getViewCoordinates
- Specified by:
getViewCoordinatesin interfacePositionable
-
setControlling
- Specified by:
setControllingin interfacePositionable
-
isControlling
- Specified by:
isControllingin interfacePositionable
-
setHidden
- Specified by:
setHiddenin interfacePositionable
-
isHidden
- Specified by:
isHiddenin interfacePositionable
-
showHidden
- Specified by:
showHiddenin interfacePositionable
-
setEmptyHidden
- Specified by:
setEmptyHiddenin interfacePositionable
-
isEmptyHidden
- Specified by:
isEmptyHiddenin interfacePositionable
-
setValueEditDisabled
- Specified by:
setValueEditDisabledin interfacePositionable
-
isValueEditDisabled
- Specified by:
isValueEditDisabledin interfacePositionable
-
setLevel
-
setDisplayLevel
- Specified by:
setDisplayLevelin interfacePositionable
-
getDisplayLevel
- Specified by:
getDisplayLevelin interfacePositionable
-
setShowToolTip
- Specified by:
setShowToolTipin interfacePositionable
-
showToolTip
- Specified by:
showToolTipin interfacePositionable
-
setToolTip
- Specified by:
setToolTipin interfacePositionable
-
getToolTip
- Specified by:
getToolTipin interfacePositionable
-
setScale
- Specified by:
setScalein interfacePositionable
-
getScale
- Specified by:
getScalein interfacePositionable
-
rotate
- Specified by:
rotatein interfacePositionable
-
getDegrees
- Specified by:
getDegreesin interfacePositionable
-
getTextComponent
- Specified by:
getTextComponentin interfacePositionable
-
getTypeString
Description copied from interface:PositionableGet the type of the positional as a String.- Specified by:
getTypeStringin interfacePositionable- Returns:
- the type to display
-
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- Returns:
- the name to display
-
getEditor
- Specified by:
getEditorin interfacePositionable
-
setEditor
- Specified by:
setEditorin interfacePositionable
-
setEditTextItemMenu
-
editTextItem
-
updateTextItem
-
makePaletteFrame
Create a palette window.- Parameters:
title- the name of the palette- Returns:
- DisplayFrame for palette item
-
initPaletteFrame
-
finishItemUpdate
-
doMousePressed
- Specified by:
doMousePressedin interfacePositionable
-
doMouseReleased
- Specified by:
doMouseReleasedin interfacePositionable
-
doMouseClicked
- Specified by:
doMouseClickedin interfacePositionable
-
doMouseDragged
- Specified by:
doMouseDraggedin interfacePositionable
-
doMouseMoved
- Specified by:
doMouseMovedin interfacePositionable
-
doMouseEntered
- Specified by:
doMouseEnteredin interfacePositionable
-
doMouseExited
- Specified by:
doMouseExitedin interfacePositionable
-
storeItem
Description copied from interface:PositionableCheck if a permanent copy of this Positionable should be stored.- Specified by:
storeItemin interfacePositionable- Returns:
- true if this Positionable should be stored; false otherwise
-
doViemMenu
Description copied from interface:PositionableUse the 'Standard' presentation of the popup menu items. The editor will call this method to find out whether it should create any popup viewing menu items.- Specified by:
doViemMenuin interfacePositionable- Returns:
- true if Editor may add the standardpopup menu items
-
setRotateOrthogonalMenu
For over-riding in the using classes: add item specific menu choices- Specified by:
setRotateOrthogonalMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
setRotateMenu
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setRotateMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
setScaleMenu
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setScaleMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
setDisableControlMenu
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setDisableControlMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
setTextEditMenu
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setTextEditMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
showPopUp
- Specified by:
showPopUpin interfacePositionable
-
setEditIconMenu
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setEditIconMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
setEditItemMenu
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setEditItemMenuin interfacePositionable- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
makeIconEditorFrame
-
edit
void edit() -
remove
Removes this object from display and persistance- Specified by:
removein interfacePositionable
-
cleanup
void cleanup()To be overridden if any special work needs to be done -
isActive
- Returns:
- true if this object is still displayed, and should be stored; false otherwise
-
mousePressed
Description copied from interface:JmriMouseListenerInvoked when a mouse button has been pressed on a component.- Specified by:
mousePressedin interfaceJmriMouseListener- Parameters:
e- the event to be processed
-
mouseReleased
Description copied from interface:JmriMouseListenerInvoked when a mouse button has been released on a component.- Specified by:
mouseReleasedin interfaceJmriMouseListener- Parameters:
e- the event to be processed
-
mouseClicked
Description copied from interface:JmriMouseListenerInvoked when the mouse button has been clicked (pressed and released) on a component.- Specified by:
mouseClickedin interfaceJmriMouseListener- Parameters:
e- the event to be processed
-
mouseExited
Description copied from interface:JmriMouseListenerInvoked when the mouse exits a component.- Specified by:
mouseExitedin interfaceJmriMouseListener- Parameters:
e- the event to be processed
-
mouseEntered
Description copied from interface:JmriMouseListenerInvoked when the mouse enters a component.- Specified by:
mouseEnteredin interfaceJmriMouseListener- Parameters:
e- the event to be processed
-
mouseMoved
Description copied from interface:JmriMouseMotionListenerInvoked when the mouse cursor has been moved onto a component but no buttons have been pushed.- Specified by:
mouseMovedin interfaceJmriMouseMotionListener- Parameters:
e- the event to be processed
-
mouseDragged
Description copied from interface:JmriMouseMotionListenerInvoked when a mouse button is pressed on a component and then dragged.MOUSE_DRAGGEDevents will continue to be delivered to the component where the drag originated until the mouse button is released (regardless of whether the mouse position is within the bounds of the component).Due to platform-dependent Drag&Drop implementations,
MOUSE_DRAGGEDevents may not be delivered during a native Drag&Drop operation.- Specified by:
mouseDraggedin interfaceJmriMouseMotionListener- Parameters:
e- the event to be processed
-
setPopupUtility
- Specified by:
setPopupUtilityin interfacePositionable
-
getPopupUtility
Description copied from interface:PositionableUtility to handle Margins, Borders and other common popup items- Specified by:
getPopupUtilityin interfacePositionable- Returns:
- null if these item do not apply
-
updateSize
Update the AWT and Swing size information due to change in internal state, e.g. if one or more of the icons that might be displayed is changed- Specified by:
updateSizein interfacePositionable
-
maxWidth
- Specified by:
maxWidthin interfacePositionable
-
maxHeight
- Specified by:
maxHeightin interfacePositionable
-
getNamedBean
- Specified by:
getNamedBeanin interfacePositionable
-
getLogixNG
Get the LogixNG of this InlineLogixNG.- Specified by:
getLogixNGin interfaceInlineLogixNG- Returns:
- the LogixNG or null if it has no LogixNG
-
setLogixNG
Set the LogixNG of this InlineLogixNG.- Specified by:
setLogixNGin interfaceInlineLogixNG- Parameters:
logixNG- the LogixNG or null if remove the LogixNG from the InlineLogixNG
-
setLogixNG_SystemName
Set the system name for the LogixNG of this InlineLogixNG.- Specified by:
setLogixNG_SystemNamein interfaceInlineLogixNG- Parameters:
systemName- the system name
-
setupLogixNG
Setup the LogixNG of this InlineLogixNG.- Specified by:
setupLogixNGin interfaceInlineLogixNG
-
