javax.swing Class Hierarchy (Java Platform SE 8 )
Date: 2026-06-25

# Hierarchy For Package javax.swing

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - javax.swing.AbstractAction (implements javax.swing.Action, java.lang.Cloneable, java.io.Serializable)
  - javax.swing.AbstractButton.ButtonChangeListener (implements javax.swing.event.ChangeListener, java.io.Serializable)
  - javax.swing.AbstractCellEditor (implements javax.swing.CellEditor, java.io.Serializable)
    - javax.swing.DefaultCellEditor (implements javax.swing.table.TableCellEditor, javax.swing.tree.TreeCellEditor)
  - javax.swing.AbstractListModel<E> (implements javax.swing.ListModel<E>, java.io.Serializable)
    - javax.swing.DefaultComboBoxModel<E> (implements javax.swing.MutableComboBoxModel<E>, java.io.Serializable)
    - javax.swing.DefaultListModel<E>
  - javax.swing.AbstractSpinnerModel (implements java.io.Serializable, javax.swing.SpinnerModel)
    - javax.swing.SpinnerDateModel (implements java.io.Serializable)
    - javax.swing.SpinnerListModel (implements java.io.Serializable)
    - javax.swing.SpinnerNumberModel (implements java.io.Serializable)
  - javax.accessibility.AccessibleContext
    - java.awt.Component.AccessibleAWTComponent (implements javax.accessibility.AccessibleComponent, java.io.Serializable)
      - javax.swing.Box.Filler.AccessibleBoxFiller
      - java.awt.Container.AccessibleAWTContainer
        - javax.swing.Box.AccessibleBox
        - javax.swing.CellRendererPane.AccessibleCellRendererPane
        - javax.swing.JComponent.AccessibleJComponent (implements javax.accessibility.AccessibleExtendedComponent)
          - javax.swing.AbstractButton.AccessibleAbstractButton (implements javax.accessibility.AccessibleAction, javax.accessibility.AccessibleExtendedComponent, javax.accessibility.AccessibleText, javax.accessibility.AccessibleValue)
            - javax.swing.JButton.AccessibleJButton
            - javax.swing.JMenuItem.AccessibleJMenuItem (implements javax.swing.event.ChangeListener)
              - javax.swing.JCheckBoxMenuItem.AccessibleJCheckBoxMenuItem
              - javax.swing.JMenu.AccessibleJMenu (implements javax.accessibility.AccessibleSelection)
              - javax.swing.JRadioButtonMenuItem.AccessibleJRadioButtonMenuItem
            - javax.swing.JToggleButton.AccessibleJToggleButton (implements java.awt.event.ItemListener)
              - javax.swing.JCheckBox.AccessibleJCheckBox
              - javax.swing.JRadioButton.AccessibleJRadioButton
          - javax.swing.JColorChooser.AccessibleJColorChooser
          - javax.swing.JComboBox.AccessibleJComboBox (implements javax.accessibility.AccessibleAction, javax.accessibility.AccessibleSelection)
          - javax.swing.JDesktopPane.AccessibleJDesktopPane
          - javax.swing.JFileChooser.AccessibleJFileChooser
          - javax.swing.JInternalFrame.AccessibleJInternalFrame (implements javax.accessibility.AccessibleValue)
          - javax.swing.JInternalFrame.JDesktopIcon.AccessibleJDesktopIcon (implements javax.accessibility.AccessibleValue)
          - javax.swing.JLabel.AccessibleJLabel (implements javax.accessibility.AccessibleExtendedComponent, javax.accessibility.AccessibleText)
          - javax.swing.JLayeredPane.AccessibleJLayeredPane
          - javax.swing.JList.AccessibleJList (implements javax.accessibility.AccessibleSelection, javax.swing.event.ListDataListener, javax.swing.event.ListSelectionListener, java.beans.PropertyChangeListener)
          - javax.swing.JMenuBar.AccessibleJMenuBar (implements javax.accessibility.AccessibleSelection)
          - javax.swing.JOptionPane.AccessibleJOptionPane
          - javax.swing.JPanel.AccessibleJPanel
          - javax.swing.JPopupMenu.AccessibleJPopupMenu (implements java.beans.PropertyChangeListener)
          - javax.swing.JProgressBar.AccessibleJProgressBar (implements javax.accessibility.AccessibleValue)
          - javax.swing.JRootPane.AccessibleJRootPane
          - javax.swing.JScrollBar.AccessibleJScrollBar (implements javax.accessibility.AccessibleValue)
          - javax.swing.JScrollPane.AccessibleJScrollPane (implements javax.swing.event.ChangeListener, java.beans.PropertyChangeListener)
          - javax.swing.JSeparator.AccessibleJSeparator
          - javax.swing.JSlider.AccessibleJSlider (implements javax.accessibility.AccessibleValue)
          - javax.swing.JSpinner.AccessibleJSpinner (implements javax.accessibility.AccessibleAction, javax.accessibility.AccessibleEditableText, javax.accessibility.AccessibleText, javax.accessibility.AccessibleValue, javax.swing.event.ChangeListener)
          - javax.swing.JSplitPane.AccessibleJSplitPane (implements javax.accessibility.AccessibleValue)
          - javax.swing.JTabbedPane.AccessibleJTabbedPane (implements javax.accessibility.AccessibleSelection, javax.swing.event.ChangeListener)
          - javax.swing.JTable.AccessibleJTable (implements javax.accessibility.AccessibleExtendedTable, javax.accessibility.AccessibleSelection, javax.swing.event.CellEditorListener, javax.swing.event.ListSelectionListener, java.beans.PropertyChangeListener, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener)
          - javax.swing.text.JTextComponent.AccessibleJTextComponent (implements javax.accessibility.AccessibleAction, javax.accessibility.AccessibleEditableText, javax.accessibility.AccessibleExtendedText, javax.accessibility.AccessibleText, javax.swing.event.CaretListener, javax.swing.event.DocumentListener)
            - javax.swing.JEditorPane.AccessibleJEditorPane
              - javax.swing.JEditorPane.AccessibleJEditorPaneHTML
              - javax.swing.JEditorPane.JEditorPaneAccessibleHypertextSupport (implements javax.accessibility.AccessibleHypertext)
            - javax.swing.JTextArea.AccessibleJTextArea
            - javax.swing.JTextField.AccessibleJTextField
              - javax.swing.JPasswordField.AccessibleJPasswordField
          - javax.swing.JToolBar.AccessibleJToolBar
          - javax.swing.JToolTip.AccessibleJToolTip
          - javax.swing.JTree.AccessibleJTree (implements javax.accessibility.AccessibleSelection, javax.swing.event.TreeExpansionListener, javax.swing.event.TreeModelListener, javax.swing.event.TreeSelectionListener)
          - javax.swing.JViewport.AccessibleJViewport
        - java.awt.Panel.AccessibleAWTPanel
          - java.applet.Applet.AccessibleApplet
            - javax.swing.JApplet.AccessibleJApplet
        - java.awt.Window.AccessibleAWTWindow
          - java.awt.Dialog.AccessibleAWTDialog
            - javax.swing.JDialog.AccessibleJDialog
          - java.awt.Frame.AccessibleAWTFrame
            - javax.swing.JFrame.AccessibleJFrame
          - javax.swing.JWindow.AccessibleJWindow
    - javax.swing.ImageIcon.AccessibleImageIcon (implements javax.accessibility.AccessibleIcon, java.io.Serializable)
    - javax.swing.JList.AccessibleJList.AccessibleJListChild (implements javax.accessibility.Accessible, javax.accessibility.AccessibleComponent)
    - javax.swing.JTable.AccessibleJTable.AccessibleJTableCell (implements javax.accessibility.Accessible, javax.accessibility.AccessibleComponent)
    - javax.swing.JTree.AccessibleJTree.AccessibleJTreeNode (implements javax.accessibility.Accessible, javax.accessibility.AccessibleAction, javax.accessibility.AccessibleComponent, javax.accessibility.AccessibleSelection)
    - javax.swing.ProgressMonitor.AccessibleProgressMonitor (implements javax.accessibility.AccessibleText, javax.swing.event.ChangeListener, java.beans.PropertyChangeListener)
  - javax.accessibility.AccessibleHyperlink (implements javax.accessibility.AccessibleAction)
    - javax.swing.JEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink
  - javax.swing.ActionMap (implements java.io.Serializable)
  - java.awt.AWTKeyStroke (implements java.io.Serializable)
    - javax.swing.KeyStroke
  - javax.swing.BorderFactory
  - javax.swing.BoxLayout (implements java.awt.LayoutManager2, java.io.Serializable)
  - javax.swing.ButtonGroup (implements java.io.Serializable)
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.CellRendererPane (implements javax.accessibility.Accessible)
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
          - javax.swing.JButton (implements javax.accessibility.Accessible)
          - javax.swing.JMenuItem (implements javax.accessibility.Accessible, javax.swing.MenuElement)
            - javax.swing.JCheckBoxMenuItem (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
            - javax.swing.JMenu (implements javax.accessibility.Accessible, javax.swing.MenuElement)
            - javax.swing.JRadioButtonMenuItem (implements javax.accessibility.Accessible)
          - javax.swing.JToggleButton (implements javax.accessibility.Accessible)
            - javax.swing.JCheckBox (implements javax.accessibility.Accessible)
            - javax.swing.JRadioButton (implements javax.accessibility.Accessible)
        - javax.swing.Box (implements javax.accessibility.Accessible)
        - javax.swing.Box.Filler (implements javax.accessibility.Accessible)
        - javax.swing.JColorChooser (implements javax.accessibility.Accessible)
        - javax.swing.JComboBox<E> (implements javax.accessibility.Accessible, java.awt.event.ActionListener, java.awt.ItemSelectable, javax.swing.event.ListDataListener)
        - javax.swing.JFileChooser (implements javax.accessibility.Accessible)
        - javax.swing.JInternalFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
        - javax.swing.JInternalFrame.JDesktopIcon (implements javax.accessibility.Accessible)
        - javax.swing.JLabel (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - javax.swing.DefaultListCellRenderer (implements javax.swing.ListCellRenderer<E>, java.io.Serializable)
            - javax.swing.DefaultListCellRenderer.UIResource (implements javax.swing.plaf.UIResource)
        - javax.swing.JLayer<V> (implements javax.accessibility.Accessible, java.beans.PropertyChangeListener, javax.swing.Scrollable)
        - javax.swing.JLayeredPane (implements javax.accessibility.Accessible)
          - javax.swing.JDesktopPane (implements javax.accessibility.Accessible)
        - javax.swing.JList<E> (implements javax.accessibility.Accessible, javax.swing.Scrollable)
        - javax.swing.JMenuBar (implements javax.accessibility.Accessible, javax.swing.MenuElement)
        - javax.swing.JOptionPane (implements javax.accessibility.Accessible)
        - javax.swing.JPanel (implements javax.accessibility.Accessible)
          - javax.swing.JSpinner.DefaultEditor (implements javax.swing.event.ChangeListener, java.awt.LayoutManager, java.beans.PropertyChangeListener)
            - javax.swing.JSpinner.DateEditor
            - javax.swing.JSpinner.ListEditor
            - javax.swing.JSpinner.NumberEditor
        - javax.swing.JPopupMenu (implements javax.accessibility.Accessible, javax.swing.MenuElement)
        - javax.swing.JProgressBar (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
        - javax.swing.JRootPane (implements javax.accessibility.Accessible)
        - javax.swing.JScrollBar (implements javax.accessibility.Accessible, java.awt.Adjustable)
          - javax.swing.JScrollPane.ScrollBar (implements javax.swing.plaf.UIResource)
        - javax.swing.JScrollPane (implements javax.accessibility.Accessible, javax.swing.ScrollPaneConstants)
        - javax.swing.JSeparator (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - javax.swing.JPopupMenu.Separator
          - javax.swing.JToolBar.Separator
        - javax.swing.JSlider (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
        - javax.swing.JSpinner (implements javax.accessibility.Accessible)
        - javax.swing.JSplitPane (implements javax.accessibility.Accessible)
        - javax.swing.JTabbedPane (implements javax.accessibility.Accessible, java.io.Serializable, javax.swing.SwingConstants)
        - javax.swing.JTable (implements javax.accessibility.Accessible, javax.swing.event.CellEditorListener, javax.swing.event.ListSelectionListener, javax.swing.event.RowSorterListener, javax.swing.Scrollable, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener)
        - javax.swing.text.JTextComponent (implements javax.accessibility.Accessible, javax.swing.Scrollable)
          - javax.swing.JEditorPane
            - javax.swing.JTextPane
          - javax.swing.JTextArea
          - javax.swing.JTextField (implements javax.swing.SwingConstants)
            - javax.swing.JFormattedTextField
            - javax.swing.JPasswordField
        - javax.swing.JToolBar (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
        - javax.swing.JToolTip (implements javax.accessibility.Accessible)
        - javax.swing.JTree (implements javax.accessibility.Accessible, javax.swing.Scrollable)
        - javax.swing.JViewport (implements javax.accessibility.Accessible)
      - java.awt.Panel (implements javax.accessibility.Accessible)
        - java.applet.Applet
          - javax.swing.JApplet (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer)
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Dialog
          - javax.swing.JDialog (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
        - java.awt.Frame (implements java.awt.MenuContainer)
          - javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
        - javax.swing.JWindow (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer)
  - java.awt.event.ComponentAdapter (implements java.awt.event.ComponentListener)
    - javax.swing.JViewport.ViewListener (implements java.io.Serializable)
  - javax.swing.DefaultBoundedRangeModel (implements javax.swing.BoundedRangeModel, java.io.Serializable)
  - javax.swing.DefaultButtonModel (implements javax.swing.ButtonModel, java.io.Serializable)
    - javax.swing.JToggleButton.ToggleButtonModel
  - javax.swing.DefaultCellEditor.EditorDelegate (implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.io.Serializable)
  - javax.swing.DefaultDesktopManager (implements javax.swing.DesktopManager, java.io.Serializable)
  - javax.swing.DefaultListSelectionModel (implements java.lang.Cloneable, javax.swing.ListSelectionModel, java.io.Serializable)
  - javax.swing.tree.DefaultMutableTreeNode (implements java.lang.Cloneable, javax.swing.tree.MutableTreeNode, java.io.Serializable)
    - javax.swing.JTree.DynamicUtilTreeNode
  - javax.swing.DefaultRowSorter.ModelWrapper<M,I>
  - javax.swing.DefaultSingleSelectionModel (implements java.io.Serializable, javax.swing.SingleSelectionModel)
  - javax.swing.tree.DefaultTreeSelectionModel (implements java.lang.Cloneable, java.io.Serializable, javax.swing.tree.TreeSelectionModel)
    - javax.swing.JTree.EmptySelectionModel
  - java.util.Dictionary<K,V>
    - java.util.Hashtable<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - javax.swing.UIDefaults
  - java.awt.FocusTraversalPolicy
    - javax.swing.InternalFrameFocusTraversalPolicy
      - javax.swing.SortingFocusTraversalPolicy
        - javax.swing.LayoutFocusTraversalPolicy (implements java.io.Serializable)
  - java.awt.Graphics
    - javax.swing.DebugGraphics
  - javax.swing.GroupLayout (implements java.awt.LayoutManager2)
  - javax.swing.GroupLayout.Group
    - javax.swing.GroupLayout.ParallelGroup
    - javax.swing.GroupLayout.SequentialGroup
  - java.awt.image.ImageFilter (implements java.lang.Cloneable, java.awt.image.ImageConsumer)
    - java.awt.image.RGBImageFilter
      - javax.swing.GrayFilter
  - javax.swing.ImageIcon (implements javax.accessibility.Accessible, javax.swing.Icon, java.io.Serializable)
  - javax.swing.InputMap (implements java.io.Serializable)
    - javax.swing.ComponentInputMap
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.FilterInputStream
      - javax.swing.ProgressMonitorInputStream
  - javax.swing.InputVerifier
  - javax.swing.JComponent.AccessibleJComponent.AccessibleContainerHandler (implements java.awt.event.ContainerListener)
  - javax.swing.JComponent.AccessibleJComponent.AccessibleFocusHandler (implements java.awt.event.FocusListener)
  - javax.swing.JFormattedTextField.AbstractFormatter (implements java.io.Serializable)
  - javax.swing.JFormattedTextField.AbstractFormatterFactory
  - javax.swing.JRootPane.RootLayout (implements java.awt.LayoutManager2, java.io.Serializable)
  - javax.swing.JTabbedPane.ModelListener (implements javax.swing.event.ChangeListener, java.io.Serializable)
  - javax.swing.JTable.AccessibleJTable.AccessibleJTableModelChange (implements javax.accessibility.AccessibleTableModelChange)
  - javax.swing.JTree.TreeModelHandler (implements javax.swing.event.TreeModelListener)
  - javax.swing.JTree.TreeSelectionRedirector (implements java.io.Serializable, javax.swing.event.TreeSelectionListener)
  - java.awt.KeyboardFocusManager (implements java.awt.KeyEventDispatcher, java.awt.KeyEventPostProcessor)
    - java.awt.DefaultKeyboardFocusManager
      - javax.swing.FocusManager
        - javax.swing.DefaultFocusManager
  - javax.swing.LayoutStyle
  - javax.swing.LookAndFeel
  - javax.swing.MenuSelectionManager
  - java.awt.event.MouseAdapter (implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener)
    - javax.swing.ToolTipManager (implements java.awt.event.MouseMotionListener)
  - javax.swing.OverlayLayout (implements java.awt.LayoutManager2, java.io.Serializable)
  - javax.swing.Popup
  - javax.swing.PopupFactory
  - javax.swing.ProgressMonitor (implements javax.accessibility.Accessible)
  - javax.swing.RepaintManager
  - javax.swing.RowFilter<M,I>
  - javax.swing.RowFilter.Entry<M,I>
  - javax.swing.RowSorter<M>
    - javax.swing.DefaultRowSorter<M,I>
  - javax.swing.RowSorter.SortKey
  - javax.swing.ScrollPaneLayout (implements java.awt.LayoutManager, javax.swing.ScrollPaneConstants, java.io.Serializable)
    - javax.swing.ScrollPaneLayout.UIResource (implements javax.swing.plaf.UIResource)
  - javax.swing.SizeRequirements (implements java.io.Serializable)
  - javax.swing.SizeSequence
  - javax.swing.Spring
  - javax.swing.SpringLayout (implements java.awt.LayoutManager2)
  - javax.swing.SpringLayout.Constraints
  - javax.swing.SwingUtilities (implements javax.swing.SwingConstants)
  - javax.swing.SwingWorker<T,V> (implements java.util.concurrent.RunnableFuture<V>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - javax.swing.UnsupportedLookAndFeelException
  - javax.swing.Timer (implements java.io.Serializable)
  - javax.swing.ToolTipManager.insideTimerAction (implements java.awt.event.ActionListener)
  - javax.swing.ToolTipManager.outsideTimerAction (implements java.awt.event.ActionListener)
  - javax.swing.ToolTipManager.stillInsideTimerAction (implements java.awt.event.ActionListener)
  - javax.swing.TransferHandler (implements java.io.Serializable)
  - javax.swing.TransferHandler.DropLocation
    - javax.swing.JList.DropLocation
    - javax.swing.JTable.DropLocation
    - javax.swing.JTree.DropLocation
  - javax.swing.TransferHandler.TransferSupport
  - javax.swing.UIDefaults.LazyInputMap (implements javax.swing.UIDefaults.LazyValue)
  - javax.swing.UIDefaults.ProxyLazyValue (implements javax.swing.UIDefaults.LazyValue)
  - javax.swing.UIManager (implements java.io.Serializable)
  - javax.swing.UIManager.LookAndFeelInfo
  - javax.swing.ViewportLayout (implements java.awt.LayoutManager, java.io.Serializable)
  - java.awt.event.WindowAdapter (implements java.awt.event.WindowFocusListener, java.awt.event.WindowListener, java.awt.event.WindowStateListener)
    - javax.swing.JMenu.WinListener (implements java.io.Serializable)

## Interface Hierarchy

- javax.swing.BoundedRangeModel
- javax.swing.CellEditor
- javax.swing.ComboBoxEditor
- javax.swing.DesktopManager
- java.util.EventListener
  - java.awt.event.ActionListener
    - javax.swing.Action
- javax.swing.Icon
- java.awt.ItemSelectable
  - javax.swing.ButtonModel
- javax.swing.JComboBox.KeySelectionManager
- javax.swing.ListCellRenderer<E>
- javax.swing.ListModel<E>
  - javax.swing.ComboBoxModel<E>
    - javax.swing.MutableComboBoxModel<E>
- javax.swing.ListSelectionModel
- javax.swing.MenuElement
- javax.swing.Painter<T>
- javax.swing.Renderer
- javax.swing.RootPaneContainer
- javax.swing.Scrollable
- javax.swing.ScrollPaneConstants
- javax.swing.SingleSelectionModel
- javax.swing.SpinnerModel
- javax.swing.SwingConstants
- javax.swing.UIDefaults.ActiveValue
- javax.swing.UIDefaults.LazyValue
- javax.swing.WindowConstants

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - javax.swing.DropMode
    - javax.swing.GroupLayout.Alignment
    - javax.swing.JTable.PrintMode
    - javax.swing.LayoutStyle.ComponentPlacement
    - javax.swing.RowFilter.ComparisonType
    - javax.swing.SortOrder
    - javax.swing.SwingWorker.StateValue

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.