Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Java by (9.5k points)

Below is the code I’ve for the GUI:

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;

        }

    }    

}

In the below conditional statement I’ve in my code supposed to disable the button, once bnClicked is set to true. But it’s not working. Can anyone tell me what I’m doing wrong here?

1 Answer

0 votes
by (19.7k points)

It’s because your conditional statement is only called once in the constructor when an IPGUI object is being instantiated. You have to put the statement btnConvertDocuments.setEnabled(false); in the actionPerformed(ActionEvent event) method like below:

if (command.equals("w")) {

    FileConverter fc = new FileConverter();

    btn1Clicked = true;

    btnConvertDocuments.setEnabled(false);

}


 

Interested in Java? Check out this Java Certification by Intellipaat. 

Related questions

0 votes
1 answer
0 votes
1 answer
asked Mar 9, 2021 in Java by Jake (7k points)
0 votes
1 answer
0 votes
1 answer

Browse Categories

...