程序包 org.meteoinfo.ui

类 JSplitToggleButton

  • 所有已实现的接口:
    java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.SwingConstants

    public class JSplitToggleButton
    extends javax.swing.JToggleButton
    implements java.awt.event.MouseMotionListener, java.awt.event.MouseListener, java.awt.event.ActionListener, java.io.Serializable
    An implementation of a "split" button.The left side acts like a normal button, right side has a jPopupMenu attached. This class raises two events.
    1. buttonClicked(e); //when the button is clicked
    2. splitButtonClicked(e; //when the split part of the button is clicked)
    You need to subscribe to SplitButtonActionListener to handle these events. Use as you wish, but an acknowlegement would be appreciated, ;) Known Issue: The 'button part' of the splitbutton is being drawn without the border??? and this is only happening in CDE/Motif and Metal Look and Feels. GTK+ and nimbus works perfect. No Idea why? if anybody could point out the mistake that'd be nice.My email naveedmurtuza[at]gmail.com P.S. The fireXXX methods has been directly plagarized from JDK source code, and yes even the javadocs..;) The border bug in metal Look and Feel is now fixed. Thanks to Hervé Guillaume.
    作者:
    Naveed Quadri
    另请参阅:
    序列化表格
    • 嵌套类概要

      • 从类继承的嵌套类/接口 javax.swing.JToggleButton

        javax.swing.JToggleButton.AccessibleJToggleButton, javax.swing.JToggleButton.ToggleButtonModel
      • 从类继承的嵌套类/接口 javax.swing.AbstractButton

        javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
      • 从类继承的嵌套类/接口 javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • 从类继承的嵌套类/接口 java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • 从类继承的嵌套类/接口 java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      protected SplitButtonActionListener splitButtonActionListener  
      • 从类继承的字段 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
      • 从类继承的字段 javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • 从类继承的字段 java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • 从接口继承的字段 java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • 从接口继承的字段 javax.swing.SwingConstants

        BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
    • 构造器概要

      构造器 
      构造器 说明
      JSplitToggleButton()
      Creates a button with no set text or icon.
      JSplitToggleButton​(java.lang.String text)
      Creates a button with text.
      JSplitToggleButton​(java.lang.String text, javax.swing.Icon icon)
      Creates a button with initial text and an icon.
      JSplitToggleButton​(javax.swing.Icon icon)
      Creates a button with an icon.
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      void actionPerformed​(java.awt.event.ActionEvent e)  
      void addSplitButtonActionListener​(SplitButtonActionListener l)
      Adds an SplitButtonActionListener to the button.
      java.awt.Color getArrowColor()
      Gets the color of the arrow.
      int getArrowSize()
      gets the size of the arrow.
      java.awt.Color getDisabledArrowColor()
      gets the disabled arrow color
      java.awt.Image getImage()
      Gets the image to be drawn in the split part.
      javax.swing.JPopupMenu getPopupMenu()
      Returns the JPopupMenu if set, null otherwise.
      int getSeparatorSpacing()
      Returns the separatorSpacing.
      java.awt.Rectangle getSplitRectangle()
      Get split rectangle
      int getSplitWidth()
      Splitwidth is the width of the split part of the button.
      boolean isAlwaysDropDown()
      Show the dropdown menu, if attached, even if the button part is clicked.
      boolean isOnSplit()
      Get if the mouse point on split rectangle
      void mouseClicked​(java.awt.event.MouseEvent e)  
      void mouseDragged​(java.awt.event.MouseEvent e)  
      void mouseEntered​(java.awt.event.MouseEvent e)  
      void mouseExited​(java.awt.event.MouseEvent e)  
      void mouseMoved​(java.awt.event.MouseEvent e)  
      void mousePressed​(java.awt.event.MouseEvent e)  
      void mouseReleased​(java.awt.event.MouseEvent e)  
      protected void paintComponent​(java.awt.Graphics g)  
      void removeSplitButtonActionListener​(SplitButtonActionListener l)
      Removes an SplitButtonActionListener from the button.
      void setAlwaysDropDown​(boolean alwaysDropDown)
      Show the dropdown menu, if attached, even if the button part is clicked.
      void setArrowColor​(java.awt.Color arrowColor)
      Set the arrow color.
      void setArrowSize​(int arrowSize)
      sets the size of the arrow
      void setDisabledArrowColor​(java.awt.Color disabledArrowColor)
      sets the disabled arrow color
      void setImage​(java.awt.Image image)
      Sets the image to draw instead of the triangle.
      void setPopupMenu​(javax.swing.JPopupMenu popupMenu)
      Sets the JPopupMenu to be displayed, when the split part of the button is clicked.
      void setSeparatorSpacing​(int separatorSpacing)
      Sets the separatorSpacing.Separator spacing is the space above and below the separator( the line drawn when you hover your mouse over the split part of the button).
      void setSplitWidth​(int splitWidth)
      Splitwidth is the width of the split part of the button.
      • 从类继承的方法 javax.swing.JToggleButton

        getAccessibleContext, getUIClassID, paramString, requestFocus, requestFocusInWindow, updateUI
      • 从类继承的方法 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, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
      • 从类继承的方法 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, paintChildren, 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, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • 从类继承的方法 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
      • 从类继承的方法 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 构造器详细资料

      • JSplitToggleButton

        public JSplitToggleButton​(java.lang.String text,
                                  javax.swing.Icon icon)
        Creates a button with initial text and an icon.
        参数:
        text - the text of the button
        icon - the Icon image to display on the button
      • JSplitToggleButton

        public JSplitToggleButton​(java.lang.String text)
        Creates a button with text.
        参数:
        text - the text of the button
      • JSplitToggleButton

        public JSplitToggleButton​(javax.swing.Icon icon)
        Creates a button with an icon.
        参数:
        icon - the Icon image to display on the button
      • JSplitToggleButton

        public JSplitToggleButton()
        Creates a button with no set text or icon.
    • 方法详细资料

      • getPopupMenu

        public javax.swing.JPopupMenu getPopupMenu()
        Returns the JPopupMenu if set, null otherwise.
        返回:
        JPopupMenu
      • setPopupMenu

        public void setPopupMenu​(javax.swing.JPopupMenu popupMenu)
        Sets the JPopupMenu to be displayed, when the split part of the button is clicked.
        参数:
        popupMenu -
      • getSeparatorSpacing

        public int getSeparatorSpacing()
        Returns the separatorSpacing. Separator spacing is the space above and below the separator( the line drawn when you hover your mouse over the split part of the button).
        返回:
        separatorSpacingimage = null; //to repaint the image with the new size
      • setSeparatorSpacing

        public void setSeparatorSpacing​(int separatorSpacing)
        Sets the separatorSpacing.Separator spacing is the space above and below the separator( the line drawn when you hover your mouse over the split part of the button).
        参数:
        separatorSpacing -
      • isAlwaysDropDown

        public boolean isAlwaysDropDown()
        Show the dropdown menu, if attached, even if the button part is clicked.
        返回:
        true if alwaysDropdown, false otherwise.
      • setAlwaysDropDown

        public void setAlwaysDropDown​(boolean alwaysDropDown)
        Show the dropdown menu, if attached, even if the button part is clicked.
        参数:
        alwaysDropDown - true to show the attached dropdown even if the button part is clicked, false otherwise
      • getArrowColor

        public java.awt.Color getArrowColor()
        Gets the color of the arrow.
        返回:
        arrowColor
      • setArrowColor

        public void setArrowColor​(java.awt.Color arrowColor)
        Set the arrow color.
        参数:
        arrowColor -
      • getDisabledArrowColor

        public java.awt.Color getDisabledArrowColor()
        gets the disabled arrow color
        返回:
        disabledArrowColor color of the arrow if no popup attached.
      • setDisabledArrowColor

        public void setDisabledArrowColor​(java.awt.Color disabledArrowColor)
        sets the disabled arrow color
        参数:
        disabledArrowColor - color of the arrow if no popup attached.
      • getSplitWidth

        public int getSplitWidth()
        Splitwidth is the width of the split part of the button.
        返回:
        splitWidth
      • setSplitWidth

        public void setSplitWidth​(int splitWidth)
        Splitwidth is the width of the split part of the button.
        参数:
        splitWidth -
      • getSplitRectangle

        public java.awt.Rectangle getSplitRectangle()
        Get split rectangle
        返回:
        Split rectangle
      • isOnSplit

        public boolean isOnSplit()
        Get if the mouse point on split rectangle
        返回:
        Boolean
      • getArrowSize

        public int getArrowSize()
        gets the size of the arrow.
        返回:
        size of the arrow
      • setArrowSize

        public void setArrowSize​(int arrowSize)
        sets the size of the arrow
        参数:
        arrowSize -
      • getImage

        public java.awt.Image getImage()
        Gets the image to be drawn in the split part. If no is set, a new image is created with the triangle.
        返回:
        image
      • setImage

        public void setImage​(java.awt.Image image)
        Sets the image to draw instead of the triangle.
        参数:
        image -
      • paintComponent

        protected void paintComponent​(java.awt.Graphics g)
        覆盖:
        paintComponent 在类中 javax.swing.JComponent
        参数:
        g -
      • addSplitButtonActionListener

        public void addSplitButtonActionListener​(SplitButtonActionListener l)
        Adds an SplitButtonActionListener to the button.
        参数:
        l - the ActionListener to be added
      • removeSplitButtonActionListener

        public void removeSplitButtonActionListener​(SplitButtonActionListener l)
        Removes an SplitButtonActionListener from the button. If the listener is the currently set Action for the button, then the Action is set to null.
        参数:
        l - the listener to be removed
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        指定者:
        mouseMoved 在接口中 java.awt.event.MouseMotionListener
        参数:
        e -
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        指定者:
        actionPerformed 在接口中 java.awt.event.ActionListener
        参数:
        e -
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        指定者:
        mouseExited 在接口中 java.awt.event.MouseListener
        参数:
        e -
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        指定者:
        mouseDragged 在接口中 java.awt.event.MouseMotionListener
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        指定者:
        mouseClicked 在接口中 java.awt.event.MouseListener
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        指定者:
        mousePressed 在接口中 java.awt.event.MouseListener
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        指定者:
        mouseReleased 在接口中 java.awt.event.MouseListener
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        指定者:
        mouseEntered 在接口中 java.awt.event.MouseListener