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

Please help me answer this question for my code below: Implementation conforms t

ID: 3907529 • Letter: P

Question

Please help me answer this question for my code below:

Implementation conforms to the requirements (using private class listeners or adapter class)

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import javax.swing.Box;

import javax.swing.BoxLayout;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class SudokuLayout extends JFrame{

       private JTextArea txtArea;

       private JPanel gridPanel,butPanel;

       private JButton hint,reset,solve,newPuzzel;

       private JComboBox difficultyBox;

       public SudokuLayout()

       {   

              setTitle("TestSudoku");

              setLayout(new BorderLayout());

              GridLayout gbag=new GridLayout(3,9);

              gridPanel=new JPanel(gbag);

              for (int k = 1; k <= 9; k++)

              {

                     JPanel level2 = new JPanel(new GridLayout(3,3));

                     for (int i = 1; i <= 9; i++)

                     {

                           JTextField text = new JTextField(3);

                           level2.add(text);

                     }

                     level2.setBorder(BorderFactory.createBevelBorder(1));

                     level2.setBackground(Color.BLACK);

                     gridPanel.add(level2);

              }

              add(gridPanel, BorderLayout.WEST);

              hint=new JButton("Hint");

              reset=new JButton("Reset");

              solve=new JButton("Solve");

              newPuzzel=new JButton("New Puzzel");

              butPanel=new JPanel();

              butPanel.setLayout(new BoxLayout(butPanel,BoxLayout.Y_AXIS));

              butPanel.add(Box.createRigidArea(new Dimension(0,15)));

              butPanel.add(reset);

              butPanel.add(Box.createRigidArea(new Dimension(0,15)));

              butPanel.add(hint);

              butPanel.add(Box.createRigidArea(new Dimension(0,15)));

              butPanel.add(solve);

              butPanel.add(Box.createRigidArea(new Dimension(0,15)));

              butPanel.add(newPuzzel);

              butPanel.add(Box.createRigidArea(new Dimension(0,15)));

              butPanel.add(Box.createRigidArea(new Dimension(0,15)));

              String[] difficulties = { "Easy", "Medium", "Hard"};

              difficultyBox = new JComboBox(difficulties);

              difficultyBox.setSelectedIndex(2);

              butPanel.add(difficultyBox);

              add(butPanel,BorderLayout.EAST);

              reset.addActionListener(new ButtonsAction());

              hint.addActionListener(new ButtonsAction());

              solve.addActionListener(new ButtonsAction());

              newPuzzel.addActionListener(new ButtonsAction());

              difficultyBox.addActionListener(new ButtonsAction());

              txtArea = new JTextArea(4, 20);

              txtArea.setBorder(BorderFactory.createTitledBorder("output"));

              txtArea.setText("Welcome To My Soduku");

              add(txtArea, BorderLayout.SOUTH);

       }

       private class ButtonsAction implements ActionListener

       {

              @Override

              public void actionPerformed(ActionEvent e)

              {

                     Object button=e.getSource();

                     if(button.equals(hint))

                     {

                           txtArea.setText("Hint Button clicked!..");

                     }

                     else if(button.equals(reset))

                     {

                           txtArea.setText("Reset Button clicked!");

                     }

                     else if(button.equals(solve))

                     {

                           txtArea.setText("Solve button clicked!");

                     }

                     else if(button.equals(difficultyBox))

                     {

                           txtArea.setText(difficultyBox.getSelectedItem().toString() + " option selected.");

                     }

                     else

                     {

                           txtArea.setText("New Puzzel button clicked!");

                     }

              }

       }

}

import javax.swing.JFrame;

public class TestSudoku

{

       public static void main(String args[])

       {

              SudokuLayout frame=new SudokuLayout();

              frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

              frame.setSize(450,350);

              frame.setResizable(false);

              frame.setVisible(true);

              frame.pack();

              frame.setLocationRelativeTo(null);

              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       }

}

Explanation / Answer

Yes, your implementation conforms to the question that the action listeners should be private classes. In your case, ButtonsAction is a private class inside your code, which implements ActionListener. Please comment if you need more help on this. Thanks!

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote