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

Implementation conforms to the requirements. import java.awt.Color; import javax

ID: 3866926 • Letter: I

Question

Implementation conforms to the requirements.

import java.awt.Color;

import javax.swing.*;

public class TestSudoku

{

public static void main(String args[])

{

SudokuLayout frame=new SudokuLayout();//create object to SudokuLayout class

//frame.setUndecorated(true); // Remove title bar

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

frame.setSize(450,350);//set size

//frame.getRootPane().setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.BLACK));//it sets the border to frame

frame.setResizable(false);

frame.setVisible(true);

frame.pack(); //set size correct

frame.setLocationRelativeTo(null);//show frame center of the screen

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

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{

JTextArea txtArea;//for output

JPanel gridPanel,butPanel;//panels for sudoku bord and buttons

JButton hint,reset,solve,newPuzzel;//declare buttons

JComboBox difficultyBox;

SudokuLayout()

{

setName("Sudoku Bord");//set name of frame

// setTitle("Sudoku Bord");//set title for sudoku frame

setLayout(new BorderLayout());//set border layout to the Sudoku frame

//create grid layout to the Sudoku board

GridLayout gbag=new GridLayout(3,9);

gridPanel=new JPanel(gbag);

for (int k = 1; k <= 9; k++)//it repesents the nine 3x3 panels

{

JPanel level2 = new JPanel(new GridLayout(3,3));//create 3x3 panels

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

{

JTextField text = new JTextField(" "); //create text feilds

level2.add(text);

}

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

level2.setBackground(Color.BLACK);

gridPanel.add(level2);//add 3x3 panel in 3x9 panel

}

add(gridPanel, BorderLayout.WEST);

//create control buttons

hint=new JButton("Hint");

reset=new JButton("Reset");

solve=new JButton("Solve");

newPuzzel=new JButton("New Puzzel");

//create panel for buttons

butPanel=new JPanel();

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

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(reset);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(hint);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(solve);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(newPuzzel);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(Box.createRigidArea(new Dimension(0,15))); //add empty space between components

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

difficultyBox = new JComboBox(difficulties);

difficultyBox.setSelectedIndex(2);

butPanel.add(difficultyBox);

//add buttons panel on sudoku panel

add(butPanel,BorderLayout.EAST);

//add action listeners

reset.addActionListener(new ButtonsAction());

hint.addActionListener(new ButtonsAction());

solve.addActionListener(new ButtonsAction());

newPuzzel.addActionListener(new ButtonsAction());

//create text area for result

txtArea = new JTextArea(4, 20);

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

txtArea.setText("Hello world!");

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

{

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

}

}

}

}

Explanation / Answer

the codeis correct

import java.awt.Color;

import javax.swing.*;

public class TestSudoku

{

public static void main(String args[])

{

SudokuLayout frame=new SudokuLayout();//create object to SudokuLayout class

//frame.setUndecorated(true); // Remove title bar

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

frame.setSize(450,350);//set size

//frame.getRootPane().setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.BLACK));//it sets the border to frame

frame.setResizable(false);

frame.setVisible(true);

frame.pack(); //set size correct

frame.setLocationRelativeTo(null);//show frame center of the screen

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

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{

JTextArea txtArea;//for output

JPanel gridPanel,butPanel;//panels for sudoku bord and buttons

JButton hint,reset,solve,newPuzzel;//declare buttons

JComboBox difficultyBox;

SudokuLayout()

{

setName("Sudoku Bord");//set name of frame

// setTitle("Sudoku Bord");//set title for sudoku frame

setLayout(new BorderLayout());//set border layout to the Sudoku frame

//create grid layout to the Sudoku board

GridLayout gbag=new GridLayout(3,9);

gridPanel=new JPanel(gbag);

for (int k = 1; k <= 9; k++)//it repesents the nine 3x3 panels

{

JPanel level2 = new JPanel(new GridLayout(3,3));//create 3x3 panels

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

{

JTextField text = new JTextField(" "); //create text feilds

level2.add(text);

}

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

level2.setBackground(Color.BLACK);

gridPanel.add(level2);//add 3x3 panel in 3x9 panel

}

add(gridPanel, BorderLayout.WEST);

//create control buttons

hint=new JButton("Hint");

reset=new JButton("Reset");

solve=new JButton("Solve");

newPuzzel=new JButton("New Puzzel");

//create panel for buttons

butPanel=new JPanel();

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

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(reset);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(hint);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(solve);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(newPuzzel);

butPanel.add(Box.createRigidArea(new Dimension(0,15)));//add empty space between components

butPanel.add(Box.createRigidArea(new Dimension(0,15))); //add empty space between components

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

difficultyBox = new JComboBox(difficulties);

difficultyBox.setSelectedIndex(2);

butPanel.add(difficultyBox);

//add buttons panel on sudoku panel

add(butPanel,BorderLayout.EAST);

//add action listeners

reset.addActionListener(new ButtonsAction());

hint.addActionListener(new ButtonsAction());

solve.addActionListener(new ButtonsAction());

newPuzzel.addActionListener(new ButtonsAction());

//create text area for result

txtArea = new JTextArea(4, 20);

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

txtArea.setText("Hello world!");

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

{

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

}

}

}

}