模块 java.desktop

类 AbstractButton

所有已实现的接口:
ImageObserver , ItemSelectable , MenuContainer , Serializable , SwingConstants
已知子类:
JButton , JMenuItem , JToggleButton

@JavaBean (defaultProperty ="UI") public abstract class AbstractButton extends JComponent implements ItemSelectable , SwingConstants
定义按钮和菜单项的通用行为。

按钮可以通过Actions 进行配置,并在某种程度上进行控制。使用带有按钮的 Action 比直接配置按钮有很多好处。有关详细信息,请参阅 摇摆组件支持Action,您可以在 如何使用动作 中找到更多信息,这是 The Java Tutorial 中的一个部分。

有关更多信息,请参阅 如何使用按钮、复选框和单选按钮The Java Tutorial 中的一个部分。

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

自从:
1.2
  • 字段详细信息

    • MODEL_CHANGED_PROPERTY

      public static final String  MODEL_CHANGED_PROPERTY
      标识按钮模型中的更改。
      参见:
    • TEXT_CHANGED_PROPERTY

      public static final String  TEXT_CHANGED_PROPERTY
      标识按钮文本的更改。
      参见:
    • MNEMONIC_CHANGED_PROPERTY

      public static final String  MNEMONIC_CHANGED_PROPERTY
      标识对按钮助记符的更改。
      参见:
    • MARGIN_CHANGED_PROPERTY

      public static final String  MARGIN_CHANGED_PROPERTY
      标识按钮边距的变化。
      参见:
    • VERTICAL_ALIGNMENT_CHANGED_PROPERTY

      public static final String  VERTICAL_ALIGNMENT_CHANGED_PROPERTY
      标识按钮垂直对齐方式的变化。
      参见:
    • HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY

      public static final String  HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
      标识按钮水平对齐方式的更改。
      参见:
    • VERTICAL_TEXT_POSITION_CHANGED_PROPERTY

      public static final String  VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
      标识按钮垂直文本位置的变化。
      参见:
    • HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY

      public static final String  HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
      标识按钮水平文本位置的变化。
      参见:
    • BORDER_PAINTED_CHANGED_PROPERTY

      public static final String  BORDER_PAINTED_CHANGED_PROPERTY
      标识对绘制边框或不绘制边框的更改。
      参见:
    • FOCUS_PAINTED_CHANGED_PROPERTY

      public static final String  FOCUS_PAINTED_CHANGED_PROPERTY
      标识在聚焦或不聚焦时突出显示边框的更改。
      参见:
    • ROLLOVER_ENABLED_CHANGED_PROPERTY

      public static final String  ROLLOVER_ENABLED_CHANGED_PROPERTY
      标识从翻转启用到禁用或返回到启用的更改。
      参见:
    • CONTENT_AREA_FILLED_CHANGED_PROPERTY

      public static final String  CONTENT_AREA_FILLED_CHANGED_PROPERTY
      标识让按钮绘制内容区域的更改。
      参见:
    • ICON_CHANGED_PROPERTY

      public static final String  ICON_CHANGED_PROPERTY
      标识对表示按钮的图标的更改。
      参见:
    • PRESSED_ICON_CHANGED_PROPERTY

      public static final String  PRESSED_ICON_CHANGED_PROPERTY
      标识按下按钮时使用的图标的更改。
      参见:
    • SELECTED_ICON_CHANGED_PROPERTY

      public static final String  SELECTED_ICON_CHANGED_PROPERTY
      标识选择按钮时使用的图标的更改。
      参见:
    • ROLLOVER_ICON_CHANGED_PROPERTY

      public static final String  ROLLOVER_ICON_CHANGED_PROPERTY
      标识当光标位于按钮上时使用的图标的更改。
      参见:
    • ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY

      public static final String  ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
      标识当光标位于按钮上并且已被选中时使用的图标的更改。
      参见:
    • DISABLED_ICON_CHANGED_PROPERTY

      public static final String  DISABLED_ICON_CHANGED_PROPERTY
      标识禁用按钮时使用的图标的更改。
      参见:
    • DISABLED_SELECTED_ICON_CHANGED_PROPERTY

      public static final String  DISABLED_SELECTED_ICON_CHANGED_PROPERTY
      标识禁用和选择按钮时使用的图标的更改。
      参见:
    • model

      protected ButtonModel  model
      确定按钮状态的数据模型。
    • changeListener

      protected ChangeListener  changeListener
      按钮模型的 changeListener
    • actionListener

      protected ActionListener  actionListener
      按钮模型的 ActionListener
    • itemListener

      protected ItemListener  itemListener
      按钮模型的 ItemListener
    • changeEvent

      protected transient ChangeEvent  changeEvent
      每个按钮实例只需要一个 ChangeEvent,因为事件的唯一状态是源属性。生成的事件源始终是“this”。
  • 构造方法详细信息

    • AbstractButton

      protected AbstractButton()
      子类调用的构造方法。
  • 方法详情

    • setHideActionText

      @BeanProperty (expert =true, description ="Whether the text of the button should come from the <code>Action</code>.") public void setHideActionText(boolean hideActionText)
      设置 hideActionText 属性,该属性确定按钮是否显示来自 Action 的文本。这仅在按钮上安装了 Action 时才有用。
      参数:
      hideActionText - true 如果按钮的 text 属性不应反映 Action 的属性;默认是false
      自从:
      1.6
      参见:
    • getHideActionText

      public boolean getHideActionText()
      返回 hideActionText 属性的值,该属性确定按钮是否显示来自 Action 的文本。这仅在按钮上安装了 Action 时才有用。
      返回:
      true 如果按钮的 text 属性不应反映 Action 的属性;默认是false
      自从:
      1.6
    • getText

      public String  getText()
      返回按钮的文本。
      返回:
      按钮文字
      参见:
    • setText

      @BeanProperty (preferred =true, visualUpdate =true, description ="The button\'s text.") public void setText(String  text)
      设置按钮的文本。
      参数:
      text - 用于设置文本的字符串
      参见:
    • isSelected

      public boolean isSelected()
      返回按钮的状态。如果选择了切换按钮,则为 True,否则为 false。
      返回:
      如果切换按钮被选中,则为 true,否则为 false
    • setSelected

      public void setSelected(boolean b)
      设置按钮的状态。请注意,此方法不会触发 actionEvent 。调用 doClick 以执行编程操作更改。
      参数:
      b - 如果按钮被选中则为真,否则为假
    • doClick

      public void doClick()
      以编程方式执行“点击”。这与用户按下并释放按钮的效果相同。
    • doClick

      public void doClick(int pressTime)
      以编程方式执行“点击”。这与用户按下并释放按钮的效果相同。该按钮在视觉上保持“按下”状态 pressTime 毫秒。
      参数:
      pressTime - “按住”按钮的时间,以毫秒为单位
    • setMargin

      @BeanProperty (visualUpdate =true, description ="The space between the button\'s border and the label.") public void setMargin(Insets  m)
      设置按钮边框和标签之间的边距空间。设置为 null 将导致按钮使用默认边距。按钮的默认 Border 对象将使用此值来创建适当的边距。但是,如果在按钮上设置了非默认边框,则 Border 对象有责任创建适当的边距空间(否则该属性将被有效地忽略)。
      参数:
      m - 边框和标签之间的空间
    • getMargin

      public Insets  getMargin()
      返回按钮边框和标签之间的边距。
      返回:
      一个 Insets 对象,指定按钮边框和标签之间的边距
      参见:
    • getIcon

      public Icon  getIcon()
      返回默认图标。
      返回:
      默认Icon
      参见:
    • setIcon

      @BeanProperty (visualUpdate =true, description ="The button\'s default icon") public void setIcon(Icon  defaultIcon)
      设置按钮的默认图标。如果没有明确设置按下图标,此图标也用作“按下”和“禁用”图标。
      参数:
      defaultIcon - 用作默认图像的图标
      参见:
    • getPressedIcon

      public Icon  getPressedIcon()
      返回按钮的按下图标。
      返回:
      pressedIcon 属性
      参见:
    • setPressedIcon

      @BeanProperty (visualUpdate =true, description ="The pressed icon for the button.") public void setPressedIcon(Icon  pressedIcon)
      设置按钮的按下图标。
      参数:
      pressedIcon - 用作“按下”图像的图标
      参见:
    • getSelectedIcon

      public Icon  getSelectedIcon()
      返回按钮的选定图标。
      返回:
      selectedIcon 属性
      参见:
    • setSelectedIcon

      @BeanProperty (visualUpdate =true, description ="The selected icon for the button.") public void setSelectedIcon(Icon  selectedIcon)
      设置按钮的选定图标。
      参数:
      selectedIcon - 用作“选定”图像的图标
      参见:
    • getRolloverIcon

      public Icon  getRolloverIcon()
      返回按钮的翻转图标。
      返回:
      rolloverIcon 属性
      参见:
    • setRolloverIcon

      @BeanProperty (visualUpdate =true, description ="The rollover icon for the button.") public void setRolloverIcon(Icon  rolloverIcon)
      设置按钮的翻转图标。
      参数:
      rolloverIcon - 用作“翻转”图像的图标
      参见:
    • getRolloverSelectedIcon

      public Icon  getRolloverSelectedIcon()
      返回按钮的翻转选择图标。
      返回:
      rolloverSelectedIcon 属性
      参见:
    • setRolloverSelectedIcon

      @BeanProperty (visualUpdate =true, description ="The rollover selected icon for the button.") public void setRolloverSelectedIcon(Icon  rolloverSelectedIcon)
      设置按钮的鼠标悬停选定图标。
      参数:
      rolloverSelectedIcon - 用作“选定翻转”图像的图标
      参见:
    • getDisabledIcon

      public Icon  getDisabledIcon()
      返回按钮禁用时使用的图标。如果未设置禁用图标,这会将调用转发给外观以构建适当的禁用图标。

      某些外观可能不会呈现禁用的图标,在这种情况下,它们将忽略它。

      返回:
      disabledIcon 属性
      参见:
    • setDisabledIcon

      @BeanProperty (visualUpdate =true, description ="The disabled icon for the button.") public void setDisabledIcon(Icon  disabledIcon)
      设置按钮的禁用图标。
      参数:
      disabledIcon - 用作禁用图像的图标
      参见:
    • getDisabledSelectedIcon

      public Icon  getDisabledSelectedIcon()
      返回按钮在禁用和选中时使用的图标。如果未设置禁用的选择图标,这会将调用转发到 LookAndFeel 以从选择图标构造适当的禁用图标(如果已设置),否则将调用转发到 getDisabledIcon()

      一些外观可能不会呈现禁用的选定图标,在这种情况下,它们将忽略它。

      返回:
      disabledSelectedIcon 属性
      参见:
    • setDisabledSelectedIcon

      @BeanProperty (visualUpdate =true, description ="The disabled selection icon for the button.") public void setDisabledSelectedIcon(Icon  disabledSelectedIcon)
      为按钮设置禁用的选择图标。
      参数:
      disabledSelectedIcon - 用作禁用选择图像的图标
      参见:
    • getVerticalAlignment

      public int getVerticalAlignment()
      返回文本和图标的垂直对齐方式。
      返回:
      verticalAlignment 属性,以下值之一:
      • SwingConstants.CENTER(默认值)
      • SwingConstants.TOP
      • SwingConstants.BOTTOM
    • setVerticalAlignment

      @BeanProperty (visualUpdate =true, enumerationValues ={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description ="The vertical alignment of the icon and text.") public void setVerticalAlignment(int alignment)
      设置图标和文本的垂直对齐方式。
      参数:
      alignment - 以下值之一:
      • SwingConstants.CENTER(默认值)
      • SwingConstants.TOP
      • SwingConstants.BOTTOM
      抛出:
      IllegalArgumentException - 如果对齐不是上面列出的合法值之一
    • getHorizontalAlignment

      public int getHorizontalAlignment()
      返回图标和文本的水平对齐方式。 AbstractButton 的默认值是 SwingConstants.CENTER ,但 JCheckBox 等子类可能使用不同的默认值。
      返回:
      horizontalAlignment 属性,以下值之一:
      • SwingConstants.RIGHT
      • SwingConstants.LEFT
      • SwingConstants.CENTER
      • SwingConstants.LEADING
      • SwingConstants.TRAILING
    • setHorizontalAlignment

      @BeanProperty (visualUpdate =true, enumerationValues ={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description ="The horizontal alignment of the icon and text.") public void setHorizontalAlignment(int alignment)
      设置图标和文本的水平对齐方式。 AbstractButton 的默认值是 SwingConstants.CENTER ,但 JCheckBox 等子类可能使用不同的默认值。
      参数:
      alignment - 对齐值,以下值之一:
      • SwingConstants.RIGHT
      • SwingConstants.LEFT
      • SwingConstants.CENTER
      • SwingConstants.LEADING
      • SwingConstants.TRAILING
      抛出:
      IllegalArgumentException - 如果对齐不是有效值之一
    • getVerticalTextPosition

      public int getVerticalTextPosition()
      返回文本相对于图标的垂直位置。
      返回:
      verticalTextPosition 属性,以下值之一:
      • SwingConstants.CENTER(默认值)
      • SwingConstants.TOP
      • SwingConstants.BOTTOM
    • setVerticalTextPosition

      @BeanProperty (visualUpdate =true, enumerationValues ={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description ="The vertical position of the text relative to the icon.") public void setVerticalTextPosition(int textPosition)
      设置文本相对于图标的垂直位置。
      参数:
      textPosition - 以下值之一:
      • SwingConstants.CENTER(默认值)
      • SwingConstants.TOP
      • SwingConstants.BOTTOM
    • getHorizontalTextPosition

      public int getHorizontalTextPosition()
      返回文本相对于图标的水平位置。
      返回:
      horizontalTextPosition 属性,以下值之一:
      • SwingConstants.RIGHT
      • SwingConstants.LEFT
      • SwingConstants.CENTER
      • SwingConstants.LEADING
      • SwingConstants.TRAILING(默认值)
    • setHorizontalTextPosition

      @BeanProperty (visualUpdate =true, enumerationValues ={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description ="The horizontal position of the text relative to the icon.") public void setHorizontalTextPosition(int textPosition)
      设置文本相对于图标的水平位置。
      参数:
      textPosition - 以下值之一:
      • SwingConstants.RIGHT
      • SwingConstants.LEFT
      • SwingConstants.CENTER
      • SwingConstants.LEADING
      • SwingConstants.TRAILING(默认值)
      抛出:
      IllegalArgumentException - 如果 textPosition 不是上面列出的合法值之一
    • getIconTextGap

      public int getIconTextGap()
      返回此按钮中显示的文本和图标之间的间距量。
      返回:
      一个等于文本和图标之间的像素数的 int。
      自从:
      1.4
      参见:
    • setIconTextGap

      @BeanProperty (visualUpdate =true, description ="If both the icon and text properties are set, this property defines the space between them.") public void setIconTextGap(int iconTextGap)
      如果同时设置了 icon 和 text 属性,则此属性定义它们之间的空间。

      此属性的默认值为 4 像素。

      这是一个 JavaBeans 绑定属性。

      参数:
      iconTextGap - 如果设置了这些属性,图标和文本之间的空间。
      自从:
      1.4
      参见:
    • checkHorizontalKey

      protected int checkHorizontalKey(int key, String  exception)
      验证 key 参数是 horizontalAlignmenthorizontalTextPosition 属性的合法值。有效值为:
      • SwingConstants.RIGHT
      • SwingConstants.LEFT
      • SwingConstants.CENTER
      • SwingConstants.LEADING
      • SwingConstants.TRAILING
      参数:
      key - 要检查的属性值
      exception - 在为无效值抛出的 IllegalArgumentException 中使用的消息
      返回:
      key 参数
      抛出:
      IllegalArgumentException - 如果键不是上面列出的合法值之一
      参见:
    • checkVerticalKey

      protected int checkVerticalKey(int key, String  exception)
      验证 key 参数是垂直属性的合法值。有效值为:
      • SwingConstants.CENTER
      • SwingConstants.TOP
      • SwingConstants.BOTTOM
      参数:
      key - 要检查的属性值
      exception - 在为无效值抛出的 IllegalArgumentException 中使用的消息
      返回:
      key 参数
      抛出:
      IllegalArgumentException - 如果键不是上面列出的合法值之一
    • removeNotify

      public void removeNotify()
      通知此组件它不再有父组件。调用此方法时,将删除在父组件链中设置的任何 KeyboardAction 。此方法由工具包内部调用,不应由程序直接调用。
      重写:
      removeNotify 在类 JComponent
      自从:
      1.6
      参见:
    • setActionCommand

      public void setActionCommand(String  actionCommand)
      设置此按钮的动作命令。
      参数:
      actionCommand - 此按钮的动作命令
    • getActionCommand

      public String  getActionCommand()
      返回此按钮的操作命令。
      返回:
      此按钮的操作命令
    • setAction

      @BeanProperty (visualUpdate =true, description ="the Action instance connected with this ActionEvent source") public void setAction(Action  a)
      设置 Action 。新的 Action 取代了之前设置的任何 Action 但不影响 ActionListeners 独立添加 addActionListener 。如果 Action 已经是按钮的已注册 ActionListener,则不会重新注册。

      设置 Action 会导致立即更改 摇摆组件支持Action 中描述的所有属性。随后,按钮的属性会随着 Action 的属性更改而自动更新。

      此方法使用其他三种方法来设置和帮助跟踪 Action 的属性值。它使用 configurePropertiesFromAction 方法立即更改按钮的属性。为了跟踪 Action 的属性值的变化,此方法注册了 createActionPropertyChangeListener 返回的 PropertyChangeListener。当 Action 中的属性更改时,默认 PropertyChangeListener 调用 actionPropertyChanged 方法。

      参数:
      a - AbstractButtonActionnull
      自从:
      1.3
      参见:
    • getAction

      public Action  getAction()
      返回当前为此 ActionEvent 源设置的 Action,如果未设置 Action,则返回 null
      返回:
      这个 ActionEvent 来源的 Action,或 null
      自从:
      1.3
      参见:
    • configurePropertiesFromAction

      protected void configurePropertiesFromAction(Action  a)
      设置此按钮的属性以匹配指定的 Action 中的属性。有关此设置的属性的更多详细信息,请参阅 摇摆组件支持Action
      参数:
      a - 从中获取属性的 Action,或 null
      自从:
      1.3
      参见:
    • actionPropertyChanged

      protected void actionPropertyChanged(Action  action, String  propertyName)
      更新按钮的状态以响应关联操作中的属性更改。从 createActionPropertyChangeListener 返回的 PropertyChangeListener 调用此方法。子类通常不需要调用它。支持额外 Action 属性的子类应该覆盖这个和 configurePropertiesFromAction

      有关此方法设置的属性列表,请参阅 摇摆组件支持Action 中的表格。

      参数:
      action - 与此按钮关联的 Action
      propertyName - 更改的属性的名称
      自从:
      1.6
      参见:
    • createActionPropertyChangeListener

      protected PropertyChangeListener  createActionPropertyChangeListener(Action  a)
      创建并返回一个 PropertyChangeListener 负责监听来自指定 Action 的更改并更新相应的属性。

      警告:如果您将其子类化,则不要创建匿名内部类。如果你这样做,按钮的生命周期将与 Action 的生命周期相关联。

      参数:
      a - 按钮的动作
      返回:
      PropertyChangeListener
      自从:
      1.3
      参见:
    • isBorderPainted

      public boolean isBorderPainted()
      获取 borderPainted 属性。
      返回:
      borderPainted 属性的值
      参见:
    • setBorderPainted

      @BeanProperty (visualUpdate =true, description ="Whether the border should be painted.") public void setBorderPainted(boolean b)
      设置 borderPainted 属性。如果 true 并且按钮有边框,则绘制边框。 borderPainted 属性的默认值为 true

      一些外观可能不支持 borderPainted 属性,在这种情况下他们会忽略它。

      参数:
      b - 如果 true 且边框属性不是 null ,则绘制边框
      参见:
    • paintBorder

      protected void paintBorder(Graphics  g)
      如果 BorderPainted 属性为真并且按钮有边框,则绘制按钮的边框。
      重写:
      paintBorder 在类 JComponent
      参数:
      g - 绘制的 Graphics 上下文
      参见:
    • isFocusPainted

      public boolean isFocusPainted()
      获取 paintFocus 属性。
      返回:
      paintFocus 属性
      参见:
    • setFocusPainted

      @BeanProperty (visualUpdate =true, description ="Whether focus should be painted") public void setFocusPainted(boolean b)
      设置 paintFocus 属性,对于要绘制的焦点状态,该属性必须为 truepaintFocus 属性的默认值为 true 。一些外观可能不会描绘焦点状态;他们将忽略此属性。
      参数:
      b - 如果是 true,应该绘制焦点状态
      参见:
    • isContentAreaFilled

      public boolean isContentAreaFilled()
      获取 contentAreaFilled 属性。
      返回:
      contentAreaFilled 属性
      参见:
    • setContentAreaFilled

      @BeanProperty (visualUpdate =true, description ="Whether the button should paint the content area or leave it transparent.") public void setContentAreaFilled(boolean b)
      设置 contentAreaFilled 属性。如果true 按钮将绘制内容区域。如果你希望有一个透明的按钮,例如一个只有图标的按钮,那么你应该将它设置为 false 。请勿调用给 setOpaque(false)contentAreaFilled 属性的默认值为 true

      此功能可能会导致组件的不透明属性发生变化。

      调用此函数的确切行为在逐个组件和逐个 L&F 的基础上有所不同。

      参数:
      b - 如果为真,则应填写内容;如果为 false,则内容区域未填充
      参见:
    • isRolloverEnabled

      public boolean isRolloverEnabled()
      获取 rolloverEnabled 属性。
      返回:
      rolloverEnabled 属性的值
      参见:
    • setRolloverEnabled

      @BeanProperty (visualUpdate =true, description ="Whether rollover effects should be enabled.") public void setRolloverEnabled(boolean b)
      设置 rolloverEnabled 属性,该属性必须为 true 才能发生翻转效果。 rolloverEnabled 属性的默认值为 false 。某些外观可能无法实现翻转效果;他们将忽略此属性。
      参数:
      b - 如果是 true ,应该绘制翻转效果
      参见:
    • getMnemonic

      public int getMnemonic()
      从当前模型返回键盘助记符。
      返回:
      来自模型的键盘助记符
    • setMnemonic

      @BeanProperty (visualUpdate =true, description ="the keyboard character mnemonic") public void setMnemonic(int mnemonic)
      在当前模型上设置键盘助记符。助记键是与外观的无鼠标修饰符(通常是 Alt)结合使用的键,如果焦点包含在该按钮的祖先窗口中的某处,则将激活该按钮。

      助记符必须对应于键盘上的单个键,并且应使用 java.awt.event.KeyEvent 中定义的 VK_XXX 键码之一指定。这些代码和更广泛的国际键盘代码可以通过 java.awt.event.KeyEvent.getExtendedKeyCodeForChar 获得。助记符不区分大小写,因此具有相应键码的键事件将导致按钮被激活,无论是否按下 Shift 修饰符。

      如果助记符定义的字符在按钮的标签字符串中找到,第一次出现的字符将被加下划线以向用户指示助记符。

      参数:
      mnemonic - 代表助记符的键码
      参见:
    • setMnemonic

      @BeanProperty (visualUpdate =true, description ="the keyboard character mnemonic") public void setMnemonic(char mnemonic)
      此方法现已废弃,请使用setMnemonic(int)为按钮设置助记符。此方法仅设计用于处理介于“a”和“z”或“A”和“Z”之间的字符值。
      参数:
      mnemonic - 指定助记值的字符
      参见:
    • setDisplayedMnemonicIndex

      @BeanProperty (visualUpdate =true, description ="the index into the String to draw the keyboard character mnemonic at") public void setDisplayedMnemonicIndex(int index) throws IllegalArgumentException
      提供有关应修饰文本中的哪个字符以表示助记符的外观提示。并非所有外观都支持这一点。值为-1 表示没有助记词,字符串中不包含助记符字符,或者开发人员不希望显示助记词。

      this 的值随着与助记符相关的属性(例如助记符本身、文本...)的变化而更新。如果您不希望为默认字符加下划线,则只应调用此方法。例如,如果文本为“另存为”,助记符为“a”,而您希望修饰“A”,如“保存”As',您必须在调用 setMnemonic(KeyEvent.VK_A) 之后调用 setDisplayedMnemonicIndex(5)

      参数:
      index - 要下划线的字符串索引
      抛出:
      IllegalArgumentException - 如果 index >= 文本长度,或者 < -1,将被抛出
      自从:
      1.4
      参见:
    • getDisplayedMnemonicIndex

      public int getDisplayedMnemonicIndex()
      返回作为索引的字符,外观应该为其提供装饰以表示助记字符。
      返回:
      代表助记符的索引
      自从:
      1.4
      参见:
    • setMultiClickThreshhold

      public void setMultiClickThreshhold(long threshold)
      设置按钮在鼠标按下事件之间生成相应操作事件所需的时间量(以毫秒为单位)。在初始鼠标按下发生(并生成动作事件)之后,任何间隔小于阈值的后续鼠标按下事件都将被忽略,并且不会生成相应的动作事件。默认情况下,阈值为 0,这意味着每次按下鼠标,都会触发一个动作事件,无论鼠标点击的速度有多快。在不希望出现这种行为的按钮中(例如,对话框中的“确定”按钮),应将此阈值设置为适当的正值。
      参数:
      threshold - 鼠标按下事件之间生成相应动作事件所需的时间量
      抛出:
      IllegalArgumentException - 如果阈值 < 0
      自从:
      1.4
      参见:
    • getMultiClickThreshhold

      public long getMultiClickThreshhold()
      获取按钮生成相应操作事件的鼠标按下事件之间所需的时间量(以毫秒为单位)。
      返回:
      鼠标按下事件之间生成相应动作事件所需的时间量
      自从:
      1.4
      参见:
    • getModel

      public ButtonModel  getModel()
      返回此按钮代表的模型。
      返回:
      model 属性
      参见:
    • setModel

      @BeanProperty (description ="Model that the Button uses.") public void setModel(ButtonModel  newModel)
      设置此按钮代表的模型。
      参数:
      newModel - 新的 ButtonModel
      参见:
    • getUI

      public ButtonUI  getUI()
      返回呈现此组件的 L&F 对象。
      重写:
      getUI 在类 JComponent
      返回:
      ButtonUI 对象
      参见:
    • setUI

      @BeanProperty (hidden =true, visualUpdate =true, description ="The UI object that implements the LookAndFeel.") public void setUI(ButtonUI  ui)
      设置呈现此组件的 L&F 对象。
      参数:
      ui - ButtonUI L&F 对象
      参见:
    • updateUI

      public void updateUI()
      将 UI 属性重置为当前外观的值。 AbstractButton 的子类型应该覆盖它以更新 UI。例如,JButton 可能会执行以下操作:
         setUI((ButtonUI)UIManager.getUI(
           "ButtonUI", "javax.swing.plaf.basic.BasicButtonUI", this));
       
      重写:
      updateUI 在类 JComponent
      参见:
    • addImpl

      protected void addImpl(Component  comp, Object  constraints, int index)
      将指定的组件添加到此容器的指定索引处,有关此方法的完整说明,请参阅Container.addImpl(Component, Object, int)
      重写:
      addImpl 在类 Container
      参数:
      comp - 要添加的组件
      constraints - 表示此组件布局约束的对象
      index - 在容器列表中插入组件的位置,其中 -1 表示追加到末尾
      抛出:
      IllegalArgumentException - 如果 index 无效
      IllegalArgumentException - 如果将容器的父级添加到自身
      IllegalArgumentException - 如果向容器添加窗口
      自从:
      1.5
      参见:
    • setLayout

      public void setLayout(LayoutManager  mgr)
      设置此容器的布局管理器,有关此方法的完整说明,请参阅 Container.setLayout(LayoutManager)
      重写:
      setLayout 在类 Container
      参数:
      mgr - 指定的布局管理器
      自从:
      1.5
      参见:
    • addChangeListener

      public void addChangeListener(ChangeListener  l)
      添加一个 ChangeListener 到按钮。
      参数:
      l - 要添加的监听器
    • removeChangeListener

      public void removeChangeListener(ChangeListener  l)
      从按钮中移除 ChangeListener。
      参数:
      l - 要删除的监听器
    • getChangeListeners

      @BeanProperty (bound =false) public ChangeListener [] getChangeListeners()
      返回使用 addChangeListener() 添加到此 AbstractButton 的所有 ChangeListener 的数组。
      返回:
      添加所有 ChangeListener 或如果未添加任何监听器,则为空数组
      自从:
      1.4
    • fireStateChanged

      protected void fireStateChanged()
      通知所有已注册对此事件类型的通知感兴趣的监听。事件实例是延迟创建的。
      参见:
    • addActionListener

      public void addActionListener(ActionListener  l)
      向按钮添加 ActionListener
      参数:
      l - 要添加的 ActionListener
    • removeActionListener

      public void removeActionListener(ActionListener  l)
      从按钮中删除 ActionListener。如果监听器是当前为按钮设置的 Action,则 Action 设置为 null
      参数:
      l - 要删除的监听器
    • getActionListeners

      @BeanProperty (bound =false) public ActionListener [] getActionListeners()
      返回使用 addActionListener() 添加到此 AbstractButton 的所有 ActionListener 的数组。
      返回:
      添加所有 ActionListener 或如果未添加任何监听器,则为空数组
      自从:
      1.4
    • createChangeListener

      protected ChangeListener  createChangeListener()
      想要以不同方式处理 ChangeEvents 的子类可以覆盖它以返回另一个 ChangeListener 实现。
      返回:
      新的ChangeListener
    • fireActionPerformed

      protected void fireActionPerformed(ActionEvent  event)
      通知所有已注册对此事件类型的通知感兴趣的监听器。事件实例是使用 event 参数延迟创建的。
      参数:
      event - ActionEvent 对象
      参见:
    • fireItemStateChanged

      protected void fireItemStateChanged(ItemEvent  event)
      通知所有已注册对此事件类型的通知感兴趣的监听器。事件实例是使用 event 参数延迟创建的。
      参数:
      event - ItemEvent 对象
      参见:
    • createActionListener

      protected ActionListener  createActionListener()
      返回添加到模型中的 ActionListener
      返回:
      ActionListener
    • createItemListener

      protected ItemListener  createItemListener()
      返回添加到模型中的 ItemListener
      返回:
      ItemListener
    • setEnabled

      public void setEnabled(boolean b)
      启用(或禁用)按钮。
      重写:
      setEnabled 在类 JComponent
      参数:
      b - true 启用按钮,否则为 false
      参见:
    • getLabel

      @Deprecated public String  getLabel()
      已弃用。
      - 替换为getText
      返回标签文本。
      返回:
      包含标签的 String
    • setLabel

      @Deprecated @BeanProperty (description ="Replace by setText(text)") public void setLabel(String  label)
      已弃用。
      - 替换为setText(text)
      设置标签文本。
      参数:
      label - 包含文本的 String
    • addItemListener

      public void addItemListener(ItemListener  l)
      添加一个 ItemListenercheckbox
      指定者:
      addItemListener 在接口 ItemSelectable
      参数:
      l - 要添加的 ItemListener
      参见:
    • removeItemListener

      public void removeItemListener(ItemListener  l)
      从按钮中删除 ItemListener
      指定者:
      removeItemListener 在接口 ItemSelectable
      参数:
      l - 要删除的 ItemListener
      参见:
    • getItemListeners

      @BeanProperty (bound =false) public ItemListener [] getItemListeners()
      返回使用 addItemListener() 添加到此 AbstractButton 的所有 ItemListener 的数组。
      返回:
      添加所有 ItemListener 或如果未添加任何监听器,则为空数组
      自从:
      1.4
    • getSelectedObjects

      @BeanProperty (bound =false) public Object [] getSelectedObjects()
      如果未选择按钮,则返回包含标签或 null 的数组(长度为 1)。
      指定者:
      getSelectedObjects 在接口 ItemSelectable
      返回:
      包含 1 个对象的数组:按钮的文本,如果该项目被选中;否则null
    • init

      protected void init(String  text, Icon  icon)
      AbstractButton 的初始化。
      参数:
      text - 按钮的文字
      icon - 显示在按钮上的图标图像
    • imageUpdate

      public boolean imageUpdate(Image  img, int infoflags, int x, int y, int w, int h)
      如果当前按钮状态的按钮图标是 null 或不是 ImageIconImage 等于传入的 Image ,则返回 false ;否则它将委托给超类。
      指定者:
      imageUpdate 在接口 ImageObserver
      重写:
      imageUpdate 在类 Component
      参数:
      img - 要比较的 Image
      infoflags - 用于在更新图像时重新绘制按钮的标志,它决定了要绘制多少
      x - x 坐标
      y - y 坐标
      w - 宽度
      h - 高度
      返回:
      false 如果信息标志表明图像已完全加载; true否则。
      参见:
    • paramString

      protected String  paramString()
      返回此 AbstractButton 的字符串表示形式。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是 null

      覆盖 paramString 以提供有关 JFC 组件的特定新方面的信息。

      重写:
      paramString 在类 JComponent
      返回:
      这个 AbstractButton 的字符串表示