Uses of Interface javax.swing.ButtonModel (Java Platform SE 8 )
Date: 2026-08-19

## Uses of Interface
javax.swing.ButtonModel

- Packages that use ButtonModel
  Package | Description
  --- | ---
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.

- - ### Uses of ButtonModel in javax.swing

    Classes in javax.swing that implement ButtonModel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultButtonModel` The default implementation of a `Button` component's data model.
    `static class` | `JToggleButton.ToggleButtonModel` The ToggleButton model

    Fields in javax.swing declared as ButtonModel
    Modifier and Type | Field and Description
    --- | ---
    `protected ButtonModel` | AbstractButton.`model` The data model that determines the button's state.

    Methods in javax.swing that return ButtonModel
    Modifier and Type | Method and Description
    --- | ---
    `ButtonModel` | AbstractButton.`getModel()` Returns the model that this button represents.
    `ButtonModel` | ButtonGroup.`getSelection()` Returns the model of the selected button.

    Methods in javax.swing with parameters of type ButtonModel
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | ButtonGroup.`isSelected(ButtonModel m)` Returns whether a `ButtonModel` is selected.
    `void` | JMenu.`setModel(ButtonModel newModel)` Sets the data model for the "menu button" -- the label that the user clicks to open or close the menu.
    `void` | AbstractButton.`setModel(ButtonModel newModel)` Sets the model that this button represents.
    `void` | JMenuItem.`setModel(ButtonModel newModel)` Sets the model that this button represents.
    `void` | ButtonGroup.`setSelected(ButtonModel m, boolean b)` Sets the selected value for the `ButtonModel`.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.