title: How to Disable GUI Button in Java
body: <p>so I have this small piece of code for my GUI:</p>
  
  <pre><code>import java.awt.BorderLayout;
  import java.awt.Component;
  import java.awt.Dimension;
  
  import javax.swing.JButton;
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.border.EmptyBorder;
  import javax.swing.BoxLayout;
  import javax.swing.JSeparator;
  import java.awt.event.ActionListener;
  import java.awt.event.ActionEvent;
  
  
  public class IPGUI extends JFrame implements ActionListener 
  {
      private static JPanel contentPane;
      private static boolean btn1Clicked = false;
      private static boolean btn2Clicked = false;
      private static boolean btn3Clicked = false;
      private static boolean btn4Clicked = false;
  
      //Create the frame
      public IPGUI() 
      {
          //Sets frame properties
          setTitle("IP Extractor");
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setBounds(100, 100, 250, 300);
          contentPane = new JPanel();
          contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
          contentPane.setLayout(new BorderLayout(0, 0));
          setContentPane(contentPane);
  
          //Creates new JPanel with boxlayout
          JPanel panel = new JPanel();
          contentPane.add(panel, BorderLayout.CENTER);
          panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
  
          //////////////////New Button//////////////////
  
          JButton btnConvertDocuments = new JButton("1. Convert Documents");
          btnConvertDocuments.setAlignmentX(Component.CENTER_ALIGNMENT);
          btnConvertDocuments.setMaximumSize(new Dimension(160, 0));
          btnConvertDocuments.setPreferredSize(new Dimension(0, 50));
  
          panel.add(btnConvertDocuments);
  
          btnConvertDocuments.setActionCommand("w");
          btnConvertDocuments.addActionListener((ActionListener) this);
  
          if (btn1Clicked == true)
          {
              btnConvertDocuments.setEnabled(false);
          }
  
          JSeparator separator_3 = new JSeparator();
          panel.add(separator_3);
  
          //////////////////New Button//////////////////
  
          JButton btnExtractImages = new JButton("2. Extract Images");
          btnExtractImages.setAlignmentX(Component.CENTER_ALIGNMENT);
          btnExtractImages.setMaximumSize(new Dimension(160, 0));
          btnExtractImages.setPreferredSize(new Dimension(0, 50));
  
          panel.add(btnExtractImages);
  
          btnExtractImages.setActionCommand("x");
          btnExtractImages.addActionListener((ActionListener) this);
  
           if (btn2Clicked == true)
           {
               btnExtractImages.setEnabled(false);
           }
  
          JSeparator separator_2 = new JSeparator();
          panel.add(separator_2);
  
          //////////////////New Button//////////////////
  
          JButton btnParseRIDValues = new JButton("3. Parse rId Values");
          btnParseRIDValues.setAlignmentX(Component.CENTER_ALIGNMENT);
          btnParseRIDValues.setMaximumSize(new Dimension(160, 0));
          btnParseRIDValues.setPreferredSize(new Dimension(0, 50));
  
          panel.add(btnParseRIDValues);
  
          btnParseRIDValues.setActionCommand("y");
          btnParseRIDValues.addActionListener((ActionListener) this);
  
          if (btn3Clicked == true)
          {
              btnParseRIDValues.setEnabled(false);
          }
  
          JSeparator separator_1 = new JSeparator();
          panel.add(separator_1);
  
          //////////////////New Button//////////////////
  
          JButton btnParseImageInfo = new JButton("4. Parse Image Info.");
          btnParseImageInfo.setAlignmentX(Component.CENTER_ALIGNMENT);
          btnParseImageInfo.setMaximumSize(new Dimension(160, 0));
          btnParseImageInfo.setPreferredSize(new Dimension(0, 50));
  
          panel.add(btnParseImageInfo);
  
          btnParseImageInfo.setActionCommand("z");
          btnParseImageInfo.addActionListener((ActionListener) this);
  
          if (btn4Clicked == true)
          {
              btnParseImageInfo.setEnabled(false);
          }
      }
  
      public void actionPerformed(ActionEvent event) 
      {
          String command = event.getActionCommand();
  
          if (command.equals("w"))
          {
              FileConverter fc = new FileConverter();
              btn1Clicked = true;
          }
          else if (command.equals("x"))
          {
              ImageExtractor ie = new ImageExtractor();
              btn2Clicked = true;
          }
          else if (command.equals("y")) 
          {
              XMLIDParser xip = new XMLIDParser();
              btn3Clicked = true;
          }
          else if (command.equals("z")) 
          {
              XMLTagParser xtp = new XMLTagParser();
              btn4Clicked = true;
          }
      }    
  }
  </code></pre>
  
  <p>The part I want to focus specifically, is this conditional:</p>
  
  <pre><code> if (btn1Clicked == true)
          {
              btnConvertDocuments.setEnabled(false);
          }
  </code></pre>
  
  <p>So my belief is that what that command should do is this: once the button is clicked and the action performed method is called, btnClicked should be set to true, thus that button should then become disabled.</p>
  
  <p>Can someone explain where am I going wrong here, or if I have the right idea here? Thank you in advance for any input!</p>