Question
According to this cord please give me this 2 question answer. package Program_07; import javax.swing.*; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; import java.awt.*; import java.awt.event.ActionEvent;
According to this cord please give me this 2 question answer.
package Program_07;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SudokuLayout extends JFrame {
/** Author Tri Nguyen
*
*/
private static final long serialVersionUID = 1L;
private JTextField square[][][];
private JFrame frame = new JFrame ();
private JPanel main = new JPanel( new BorderLayout());
private JPanel p1,p2,panel[];
private JTextArea TxtAr;
JButton reset,hint,solve,puzzle;
JLabel difficulty;
JComboBox
Border exteriorBorder = new LineBorder(Color.BLACK, 2);
Border dividerBorder = new LineBorder(Color.BLUE, 1);
SudokuLayout()
{
frame = new JFrame();
frame.setTitle("Sudoku - Tri Nguyen");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
int i,j,k;
square = new JTextField[9][3][3];
Font font = new Font("Verdana", Font.BOLD, 30);
for(i=0;i<9;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<3;k++)
{
square[i][j][k] = new JTextField("",1);
square[i][j][k].setFont(font);
square[i][j][k].setPreferredSize(new Dimension(30,30));
square[i][j][k].setHorizontalAlignment(JTextField.CENTER);
square[i][j][k].setBorder(dividerBorder);
}
}
}
p1 = new JPanel();
panel = new JPanel[9];
p1.setLayout(new GridLayout(3,3));
for(i=0;i<9;i++)
{
panel[i] = new JPanel();
panel[i].setLayout(new GridLayout(3,3));
for(j=0;j<3;j++)
{
for(k=0;k<3;k++)
{
panel[i].add(square[i][j][k]);
}
}
panel[i].setBorder(exteriorBorder);
p1.add(panel[i]);
}
p1.setBorder(exteriorBorder);
class RoundedBorder implements Border
{
private int radius;
RoundedBorder(int radius) {
this.radius = radius;
}
public Insets getBorderInsets(Component c) {
return new Insets(this.radius+1, this.radius+1, this.radius+2, this.radius);
}
public boolean isBorderOpaque() {
return true;
}
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
g.drawRoundRect(x,y,width-1,height-1,radius,radius);
}
}
reset = new JButton("Reset");
reset.setSize(new Dimension(10, 40));
reset.setBorder(new RoundedBorder(10));
reset.addActionListener(new resetl( ));
hint = new JButton("Hint");
hint.setSize(new Dimension(10, 40));
hint.setBorder(new RoundedBorder(10));
hint.addActionListener(new hintl( ));
solve = new JButton("Solve");
solve.setSize(new Dimension(10, 40));
solve.setBorder(new RoundedBorder(10));
solve.addActionListener(new solvel( ));
puzzle = new JButton("New Puzzle");
puzzle.setSize(new Dimension(10, 40));
puzzle.setBorder(new RoundedBorder(10));
puzzle.addActionListener(new puzzlel( ));
difficulty = new JLabel("Difficulty: ");
difficulty.setHorizontalAlignment(JLabel.CENTER);
String[] difficulties = { "Easy", "Medium", "Hard" };
difficultyBox = new JComboBox
difficultyBox.setPreferredSize(new Dimension(100, 20));
p2 = new JPanel();
p2.setLayout(new BoxLayout(p2, BoxLayout.Y_AXIS));
p2.setAlignmentY(CENTER_ALIGNMENT);
p2.add(reset);
p2.add(Box.createRigidArea(new Dimension(0, 20)));
p2.add(hint);
p2.add(Box.createRigidArea(new Dimension(0, 20)));
p2.add(solve);
p2.add(Box.createRigidArea(new Dimension(0, 20)));
p2.add(puzzle);
p2.add(Box.createRigidArea(new Dimension(0, 20)));
p2.add(difficulty);
p2.add(difficultyBox);
main.add(p1,BorderLayout.LINE_START);
main.add(p2,BorderLayout.LINE_END);
main.setBorder(new EmptyBorder(5, 5, 5, 5));
TxtAr = new JTextArea(4, 20);
TxtAr.setBorder(BorderFactory.createTitledBorder ("Output Area: ")) ;
main.add(TxtAr,BorderLayout.SOUTH);
frame.add(main);
frame.pack();
frame.setVisible(true);
}
class resetl implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
TxtAr.setText("");
TxtAr.append("Reset button clicked!");
}
}
class hintl implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
TxtAr.setText("");
TxtAr.append("Hint button clicked!");
}
}
class solvel implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
TxtAr.setText("");
TxtAr.append("Solve button clicked!");
}
}
class puzzlel implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
TxtAr.setText("");
TxtAr.append((String)difficultyBox.getSelectedItem());
}
}
}
package Program_07;
public class TestSudoku {
public static void main(String args[]) {
new SudokuLayout();
}
}
1. Draw a class diagram in the space below (remember that private classes neednt to be in a class diagram):
2. Implementation conforms to the requirements (using private class listeners or adapter class):
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started