Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

modify the code below so that two separate liseteners classes are usd import jav

ID: 3763062 • Letter: M

Question

modify the code below so that two separate liseteners classes are usd

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LeftRightPanel extends JPanel { private JButton left, right; private JLabel label; private JPanel buttonPanel;

public LeftRightPanel ()

   {

      left = new JButton ("Left");

      right = new JButton ("Right");

      ButtonListener listener = new ButtonListener();

      left.addActionListener (listener);

      right.addActionListener (listener);

      label = new JLabel ("Push a button");

      buttonPanel = new JPanel();

      buttonPanel.setPreferredSize (new Dimension(200, 40));

      buttonPanel.setBackground (Color.blue);

      buttonPanel.add (left);

      buttonPanel.add (right);

      setPreferredSize (new Dimension(200, 80));

      setBackground (Color.cyan);

      add (label);

      add (buttonPanel);

   }

private class ButtonListener implements ActionListener

   {

      //--------------------------------------------------------------

      // Determines which button was pressed and sets the label

      // text accordingly.

      //--------------------------------------------------------------

      public void actionPerformed (ActionEvent event)

      {

         if (event.getSource() == left)

            label.setText("Left");

         else

            label.setText("Right");

      }

   }

}

Explanation / Answer

package graphics;

//*******************************************************************

// Demonstrates the use of one listener for multiple buttons.

//*******************************************************************

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LeftRightPanel extends JPanel {

private static final long serialVersionUID = 1L;

private JButton left, right;

private JLabel label;

private JPanel buttonPanel;

//----------------------------------------------------------------

// Constructor: Sets up the GUI.

//----------------------------------------------------------------

public LeftRightPanel () {

    left = new JButton ("Left");

    right = new JButton ("Right");

    ButtonListener listener = new ButtonListener();

    left.addActionListener (listener);

    right.addActionListener (listener);

    label = new JLabel ("Push a button");

    buttonPanel = new JPanel();

    buttonPanel.setPreferredSize (new Dimension(200, 40));

    buttonPanel.setBackground (Color.blue);

    buttonPanel.add (left);

    buttonPanel.add (right);

    setPreferredSize (new Dimension(200, 80));

    setBackground (Color.cyan);

    add (label);

    add (buttonPanel);

}

//****************************************************************

// Represents a listener for both buttons.

//****************************************************************

private class ButtonListener implements ActionListener {

    //-------------------------------------------------------------

    // Determines which button was pressed and sets the label

    // text accordingly.

    //-------------------------------------------------------------

    public void actionPerformed (ActionEvent event)

    {

      if (event.getSource() == left)

        label.setText("Left Button Pressed");

      else

        label.setText("Right Button Pressed");

    }

}

}