public class javax.swing.JButton extends javax.swing.AbstractButton implements javax.accessibility.Accessible
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.JButton
  super_class: javax.swing.AbstractButton
{
  private static final java.lang.String uiClassID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ButtonUI"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 91
            aload 0 /* this */
            aconst_null
            aconst_null
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;Ljavax/swing/Icon;)V
         1: .line 92
            return
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JButton;

  public void <init>(javax.swing.Icon);
    descriptor: (Ljavax/swing/Icon;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JButton this
        start local 1 // javax.swing.Icon icon
         0: .line 100
            aload 0 /* this */
            aconst_null
            aload 1 /* icon */
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;Ljavax/swing/Icon;)V
         1: .line 101
            return
        end local 1 // javax.swing.Icon icon
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JButton;
            0    2     1  icon  Ljavax/swing/Icon;
    MethodParameters:
      Name  Flags
      icon  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JButton this
        start local 1 // java.lang.String text
         0: .line 110
            aload 0 /* this */
            aload 1 /* text */
            aconst_null
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;Ljavax/swing/Icon;)V
         1: .line 111
            return
        end local 1 // java.lang.String text
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JButton;
            0    2     1  text  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.beans.ConstructorProperties(value = {"text"})
    MethodParameters:
      Name  Flags
      text  

  public void <init>(javax.swing.Action);
    descriptor: (Ljavax/swing/Action;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JButton this
        start local 1 // javax.swing.Action a
         0: .line 122
            aload 0 /* this */
            invokespecial javax.swing.JButton.<init>:()V
         1: .line 123
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual javax.swing.JButton.setAction:(Ljavax/swing/Action;)V
         2: .line 124
            return
        end local 1 // javax.swing.Action a
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JButton;
            0    3     1     a  Ljavax/swing/Action;
    MethodParameters:
      Name  Flags
      a     

  public void <init>(java.lang.String, javax.swing.Icon);
    descriptor: (Ljava/lang/String;Ljavax/swing/Icon;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.swing.JButton this
        start local 1 // java.lang.String text
        start local 2 // javax.swing.Icon icon
         0: .line 132
            aload 0 /* this */
            invokespecial javax.swing.AbstractButton.<init>:()V
         1: .line 134
            aload 0 /* this */
            new javax.swing.DefaultButtonModel
            dup
            invokespecial javax.swing.DefaultButtonModel.<init>:()V
            invokevirtual javax.swing.JButton.setModel:(Ljavax/swing/ButtonModel;)V
         2: .line 137
            aload 0 /* this */
            aload 1 /* text */
            aload 2 /* icon */
            invokevirtual javax.swing.JButton.init:(Ljava/lang/String;Ljavax/swing/Icon;)V
         3: .line 138
            return
        end local 2 // javax.swing.Icon icon
        end local 1 // java.lang.String text
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JButton;
            0    4     1  text  Ljava/lang/String;
            0    4     2  icon  Ljavax/swing/Icon;
    MethodParameters:
      Name  Flags
      text  
      icon  

  public void updateUI();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 147
            aload 0 /* this */
            aload 0 /* this */
            invokestatic javax.swing.UIManager.getUI:(Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
            checkcast javax.swing.plaf.ButtonUI
            invokevirtual javax.swing.JButton.setUI:(Ljavax/swing/plaf/ButtonUI;)V
         1: .line 148
            return
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JButton;

  public java.lang.String getUIClassID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 163
            ldc "ButtonUI"
            areturn
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JButton;

  public boolean isDefaultButton();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 182
            aload 0 /* this */
            invokestatic javax.swing.SwingUtilities.getRootPane:(Ljava/awt/Component;)Ljavax/swing/JRootPane;
            astore 1 /* root */
        start local 1 // javax.swing.JRootPane root
         1: .line 183
            aload 1 /* root */
            ifnull 4
         2: .line 184
            aload 1 /* root */
            invokevirtual javax.swing.JRootPane.getDefaultButton:()Ljavax/swing/JButton;
            aload 0 /* this */
            if_acmpne 3
            iconst_1
            ireturn
      StackMap locals: javax.swing.JRootPane
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 186
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // javax.swing.JRootPane root
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JButton;
            1    5     1  root  Ljavax/swing/JRootPane;

  public boolean isDefaultCapable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 198
            aload 0 /* this */
            getfield javax.swing.JButton.defaultCapable:Z
            ireturn
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JButton;

  public void setDefaultCapable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.swing.JButton this
        start local 1 // boolean defaultCapable
         0: .line 219
            aload 0 /* this */
            getfield javax.swing.JButton.defaultCapable:Z
            istore 2 /* oldDefaultCapable */
        start local 2 // boolean oldDefaultCapable
         1: .line 220
            aload 0 /* this */
            iload 1 /* defaultCapable */
            putfield javax.swing.JButton.defaultCapable:Z
         2: .line 221
            aload 0 /* this */
            ldc "defaultCapable"
            iload 2 /* oldDefaultCapable */
            iload 1 /* defaultCapable */
            invokevirtual javax.swing.JButton.firePropertyChange:(Ljava/lang/String;ZZ)V
         3: .line 222
            return
        end local 2 // boolean oldDefaultCapable
        end local 1 // boolean defaultCapable
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Ljavax/swing/JButton;
            0    4     1     defaultCapable  Z
            1    4     2  oldDefaultCapable  Z
    MethodParameters:
                Name  Flags
      defaultCapable  

  public void removeNotify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 232
            aload 0 /* this */
            invokestatic javax.swing.SwingUtilities.getRootPane:(Ljava/awt/Component;)Ljavax/swing/JRootPane;
            astore 1 /* root */
        start local 1 // javax.swing.JRootPane root
         1: .line 233
            aload 1 /* root */
            ifnull 3
            aload 1 /* root */
            invokevirtual javax.swing.JRootPane.getDefaultButton:()Ljavax/swing/JButton;
            aload 0 /* this */
            if_acmpne 3
         2: .line 234
            aload 1 /* root */
            aconst_null
            invokevirtual javax.swing.JRootPane.setDefaultButton:(Ljavax/swing/JButton;)V
         3: .line 236
      StackMap locals: javax.swing.JRootPane
      StackMap stack:
            aload 0 /* this */
            invokespecial javax.swing.AbstractButton.removeNotify:()V
         4: .line 237
            return
        end local 1 // javax.swing.JRootPane root
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JButton;
            1    5     1  root  Ljavax/swing/JRootPane;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.swing.JButton this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 244
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 245
            aload 0 /* this */
            invokevirtual javax.swing.JButton.getUIClassID:()Ljava/lang/String;
            ldc "ButtonUI"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         2: .line 246
            aload 0 /* this */
            invokestatic javax.swing.JComponent.getWriteObjCounter:(Ljavax/swing/JComponent;)B
            istore 2 /* count */
        start local 2 // byte count
         3: .line 247
            aload 0 /* this */
            iload 2 /* count */
            iconst_1
            isub
            i2b
            dup
            istore 2 /* count */
            invokestatic javax.swing.JComponent.setWriteObjCounter:(Ljavax/swing/JComponent;B)V
         4: .line 248
            iload 2 /* count */
            ifne 6
            aload 0 /* this */
            getfield javax.swing.JButton.ui:Ljavax/swing/plaf/ComponentUI;
            ifnull 6
         5: .line 249
            aload 0 /* this */
            getfield javax.swing.JButton.ui:Ljavax/swing/plaf/ComponentUI;
            aload 0 /* this */
            invokevirtual javax.swing.plaf.ComponentUI.installUI:(Ljavax/swing/JComponent;)V
        end local 2 // byte count
         6: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljavax/swing/JButton;
            0    7     1      s  Ljava/io/ObjectOutputStream;
            3    6     2  count  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  protected java.lang.String paramString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 265
            aload 0 /* this */
            getfield javax.swing.JButton.defaultCapable:Z
            ifeq 1
            ldc "true"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "false"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 1 /* defaultCapableString */
        start local 1 // java.lang.String defaultCapableString
         3: .line 267
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial javax.swing.AbstractButton.paramString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 268
            ldc ",defaultCapable="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* defaultCapableString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 267
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String defaultCapableString
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Ljavax/swing/JButton;
            3    6     1  defaultCapableString  Ljava/lang/String;

  public javax.accessibility.AccessibleContext getAccessibleContext();
    descriptor: ()Ljavax/accessibility/AccessibleContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.JButton this
         0: .line 290
            aload 0 /* this */
            getfield javax.swing.JButton.accessibleContext:Ljavax/accessibility/AccessibleContext;
            ifnonnull 2
         1: .line 291
            aload 0 /* this */
            new javax.swing.JButton$AccessibleJButton
            dup
            aload 0 /* this */
            invokespecial javax.swing.JButton$AccessibleJButton.<init>:(Ljavax/swing/JButton;)V
            putfield javax.swing.JButton.accessibleContext:Ljavax/accessibility/AccessibleContext;
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.JButton.accessibleContext:Ljavax/accessibility/AccessibleContext;
            areturn
        end local 0 // javax.swing.JButton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JButton;
}
SourceFile: "JButton.java"
NestMembers:
  javax.swing.JButton$AccessibleJButton
InnerClasses:
  protected AccessibleJButton = javax.swing.JButton$AccessibleJButton of javax.swing.JButton