Package com.nomagic.awt
Class NMJideButton
- java.lang.Object
 - 
- java.awt.Component
 - 
- java.awt.Container
 - 
- javax.swing.JComponent
 - 
- javax.swing.AbstractButton
 - 
- javax.swing.JButton
 - 
- com.jidesoft.swing.JideButton
 - 
- com.nomagic.awt.NMJideButton
 
 
 
 
 
 
 
 
- 
- All Implemented Interfaces:
 com.jidesoft.swing.Alignable,com.jidesoft.swing.AlignmentSupport,com.jidesoft.swing.ButtonStyle,com.jidesoft.swing.ComponentStateSupport,com.nomagic.awt.HelpInformationProvider,java.awt.event.KeyListener,java.awt.event.MouseListener,java.awt.image.ImageObserver,java.awt.ItemSelectable,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.SwingConstants
- Direct Known Subclasses:
 NMActionJideButton
@OpenApi public class NMJideButton extends com.jidesoft.swing.JideButton implements java.awt.event.MouseListener, java.io.Serializable, java.awt.event.KeyListener, com.nomagic.awt.HelpInformationProviderThis is simple image popup button bean. Then user moves mouse on it, button border is drawn as raised 3D rectangle; if button is pushed, it's border is drawn as hollow 3D rectangle. Button size is the same as image size. This button has three modes: pushed - is button pushed toggle - is button a toggle button. If button is not a toggle button, the user can only push it (not to release) sticky - is button is a sticky button. If button is not sticky, after mouse released it will lose it's pushed state. The button can registryActionListeners.ActionEventis fired when user presses and releases mouse on the button. If mouse was only pressed on the button and releases elsewhere,ActionEventis not fired. The button also can registryHelpListeners.HelpEventis fired when user moves mouse pointer on the button or moves it out. When mouse moves inHelpEventis fired with parametergetTooltipText(), when mouse moves out,HelpEventis fired with parameter null.- See Also:
 ActionEvent,ActionListener, Serialized Form
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description private classcom.nomagic.awt.NMJideButton.StateChangeListener- 
Nested classes/interfaces inherited from class javax.swing.JButton
javax.swing.JButton.AccessibleJButton 
- 
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener 
- 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description private javax.swing.event.ChangeListenermChangeListenerprivate com.nomagic.awt.NMJideButtonServantmServantprivate java.util.function.BiFunction<NMJideButton,java.awt.event.MouseEvent,java.awt.Point>toolTipLocationProvider- 
Fields inherited from class com.jidesoft.swing.JideButton
CLIENT_PROPERTY_HIDE_POPUPMENU, PROPERTY_ALWAYS_SHOW_HYPERLINK 
- 
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY 
- 
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 
- 
Fields inherited from interface com.jidesoft.swing.ButtonStyle
BUTTON_STYLE_PROPERTY, CLIENT_PROPERTY_SEGMENT_POSITION, FLAT_STYLE, HYPERLINK_STYLE, SEGMENT_POSITION_FIRST, SEGMENT_POSITION_LAST, SEGMENT_POSITION_MIDDLE, SEGMENT_POSITION_ONLY, TOOLBAR_STYLE, TOOLBOX_STYLE 
 - 
 
- 
Constructor Summary
Constructors Constructor Description NMJideButton()Constructs not pushed button with no image, empty command string and empty help string.NMJideButton(javax.swing.Action action)Creates button from given action.NMJideButton(javax.swing.Icon icon)Creates button with given icon. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHelpListener(com.nomagic.awt.HelpListener l)Informs the component that this HelpListener is interested in the help events generated by this component.voidaddNotify()javax.swing.JToolTipcreateToolTip()Return special implementation of tooltip componentprivate javax.swing.event.ChangeListenergetChangeListener()private com.nomagic.awt.NMJideButtonServantgetServant()java.util.ListgetShortcuts()Gets list of shortcut for button activationjava.awt.PointgetToolTipLocation(java.awt.event.MouseEvent event)java.util.function.BiFunction<NMJideButton,java.awt.event.MouseEvent,java.awt.Point>getToolTipLocationProvider()private voidinit()voidkeyPressed(java.awt.event.KeyEvent evt)voidkeyReleased(java.awt.event.KeyEvent evt)voidkeyTyped(java.awt.event.KeyEvent evt)voidmouseClicked(java.awt.event.MouseEvent e)voidmouseEntered(java.awt.event.MouseEvent e)Processes the mouse enter action.private voidmouseExited()voidmouseExited(java.awt.event.MouseEvent e)Processes the mouse exit action.voidmousePressed(java.awt.event.MouseEvent e)Processes the mouse pressed action.voidmouseReleased(java.awt.event.MouseEvent e)Processes the mouse release event.voidnotifyHelpListeners(java.lang.String newHelp)Processes the mouse enter and mouse exit events.voidremoveHelpListener(com.nomagic.awt.HelpListener l)Informs the component that this HelpListener is no longer interested in the help events generated by this component.voidremoveNotify()voidrightClickAction(java.awt.event.MouseEvent e)This method is called if right click is done on the button.voidsetIcon(javax.swing.Icon icon)voidsetShortcuts(java.util.List shortcuts)Sets shortcut for popup button.voidsetToolTipLocationProvider(java.util.function.BiFunction<NMJideButton,java.awt.event.MouseEvent,java.awt.Point> toolTipLocationProvider)voidsetToolTipText(java.lang.String text)Registers the text to display in a tool tip.- 
Methods inherited from class com.jidesoft.swing.JideButton
getBackgroundOfState, getButtonStyle, getDefaultForeground, getForegroundOfState, getOrientation, getUIClassID, isAlwaysShowHyperlink, setAlwaysShowHyperlink, setBackgroundOfState, setButtonStyle, setDefaultForeground, setForegroundOfState, setOrientation, setRolloverEnabled, setText, supportHorizontalOrientation, supportVerticalOrientation, updateUI 
- 
Methods inherited from class javax.swing.JButton
getAccessibleContext, isDefaultButton, isDefaultCapable, paramString, setDefaultCapable 
- 
Methods inherited from class javax.swing.AbstractButton
actionPropertyChanged, addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, configurePropertiesFromAction, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setUI, setVerticalAlignment, setVerticalTextPosition 
- 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, 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, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update 
- 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, 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 
 - 
 
 - 
 
- 
- 
Field Detail
- 
mServant
private com.nomagic.awt.NMJideButtonServant mServant
 
- 
mChangeListener
private javax.swing.event.ChangeListener mChangeListener
 
- 
toolTipLocationProvider
@CheckForNull private java.util.function.BiFunction<NMJideButton,java.awt.event.MouseEvent,java.awt.Point> toolTipLocationProvider
 
 - 
 
- 
Constructor Detail
- 
NMJideButton
@OpenApi public NMJideButton()
Constructs not pushed button with no image, empty command string and empty help string. The size of the button will be zero. 
- 
NMJideButton
@OpenApi public NMJideButton(javax.swing.Action action)
Creates button from given action.- See Also:
 JButton(javax.swing.Action)
 
- 
NMJideButton
@OpenApi public NMJideButton(@CheckForNull javax.swing.Icon icon)Creates button with given icon.- Parameters:
 icon- icon for button.- See Also:
 JButton(javax.swing.Icon)
 
 - 
 
- 
Method Detail
- 
setIcon
public void setIcon(@CheckForNull javax.swing.Icon icon)- Overrides:
 setIconin classcom.jidesoft.swing.JideButton
 
- 
init
private void init()
 
- 
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
Processes the mouse release event. At first this method checks if the button has focus (mFocus is true). If this is true, ActionEvent will be thrown.- Specified by:
 mouseReleasedin interfacejava.awt.event.MouseListener- Parameters:
 e- the release mouse event;
 
- 
rightClickAction
public void rightClickAction(java.awt.event.MouseEvent e)
This method is called if right click is done on the button.- Parameters:
 e- click event.
 
- 
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
 mouseClickedin interfacejava.awt.event.MouseListener- See Also:
 MouseListener.mouseClicked(java.awt.event.MouseEvent)
 
- 
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
Processes the mouse pressed action. After press button must be drawn as pushed.- Specified by:
 mousePressedin interfacejava.awt.event.MouseListener- Parameters:
 e- MouseEvent
 
- 
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
Processes the mouse enter action. This method sets focus flag, and notifies HelpListeners with parameter "help string".- Specified by:
 mouseEnteredin interfacejava.awt.event.MouseListener- Parameters:
 e- MouseEvent
 
- 
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
Processes the mouse exit action. Calls notifyHelpListeners method with null as parameter.- Specified by:
 mouseExitedin interfacejava.awt.event.MouseListener- Parameters:
 e- MouseEvent- See Also:
 notifyHelpListeners(java.lang.String)
 
- 
addHelpListener
public void addHelpListener(com.nomagic.awt.HelpListener l)
Informs the component that this HelpListener is interested in the help events generated by this component.- Specified by:
 addHelpListenerin interfacecom.nomagic.awt.HelpInformationProvider- Parameters:
 l- the HelpListener- See Also:
 removeHelpListener(com.nomagic.awt.HelpListener)
 
- 
removeHelpListener
public void removeHelpListener(com.nomagic.awt.HelpListener l)
Informs the component that this HelpListener is no longer interested in the help events generated by this component.- Specified by:
 removeHelpListenerin interfacecom.nomagic.awt.HelpInformationProvider- Parameters:
 l- the HelpListener- See Also:
 addHelpListener(com.nomagic.awt.HelpListener)
 
- 
notifyHelpListeners
public void notifyHelpListeners(@CheckForNull java.lang.String newHelp)Processes the mouse enter and mouse exit events. This method calls the helpChanged() methods of all the listeners who have expressed their interest by calling addHelpListener- Parameters:
 newHelp- the new help string for HelpEvent
 
- 
setShortcuts
public void setShortcuts(java.util.List shortcuts)
Sets shortcut for popup button. 
- 
getShortcuts
public java.util.List getShortcuts()
Gets list of shortcut for button activation- Returns:
 - list of shortcuts.
 
 
- 
keyPressed
public void keyPressed(java.awt.event.KeyEvent evt)
- Specified by:
 keyPressedin interfacejava.awt.event.KeyListener
 
- 
keyReleased
public void keyReleased(java.awt.event.KeyEvent evt)
- Specified by:
 keyReleasedin interfacejava.awt.event.KeyListener
 
- 
keyTyped
public void keyTyped(java.awt.event.KeyEvent evt)
- Specified by:
 keyTypedin interfacejava.awt.event.KeyListener
 
- 
setToolTipText
public void setToolTipText(java.lang.String text)
Registers the text to display in a tool tip. The text displays when the cursor lingers over the component.See How to Use Tool Tips in The Java Tutorial for further documentation.
- Overrides:
 setToolTipTextin classjavax.swing.JComponent- Parameters:
 text- the string to display; if the text isnull, the tool tip is turned off for this component- See Also:
 preferred: true description: The text to display in a tool tip.
 
- 
createToolTip
public javax.swing.JToolTip createToolTip()
Return special implementation of tooltip component- Overrides:
 createToolTipin classjavax.swing.JComponent
 
- 
getServant
private com.nomagic.awt.NMJideButtonServant getServant()
 
- 
getChangeListener
private javax.swing.event.ChangeListener getChangeListener()
 
- 
mouseExited
private void mouseExited()
 
- 
addNotify
public void addNotify()
- Overrides:
 addNotifyin classjavax.swing.JComponent
 
- 
removeNotify
public void removeNotify()
- Overrides:
 removeNotifyin classjavax.swing.JButton
 
- 
setToolTipLocationProvider
public final void setToolTipLocationProvider(@CheckForNull java.util.function.BiFunction<NMJideButton,java.awt.event.MouseEvent,java.awt.Point> toolTipLocationProvider) 
- 
getToolTipLocationProvider
@CheckForNull public final java.util.function.BiFunction<NMJideButton,java.awt.event.MouseEvent,java.awt.Point> getToolTipLocationProvider()
 
- 
getToolTipLocation
public java.awt.Point getToolTipLocation(java.awt.event.MouseEvent event)
- Overrides:
 getToolTipLocationin classjavax.swing.JComponent
 
 - 
 
 -