Question: Draw a Class Diagram Program in java:// SudokuLayout.java 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

Draw a Class Diagram

Program in java:// SudokuLayout.java

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"}; //Create the combo box, select item at index 1. //Indices start at 0, so 1 specifies Medium. 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{ //private listener class

@Override public void actionPerformed(ActionEvent e) {//implements actionPerformed Object button=e.getSource(); if(button.equals(hint))//check source onject is hint button { txtArea.setText("Hint Button clicked!.."); } else if(button.equals(reset))//else check source onject is reset button { txtArea.setText("Hello world!"); } else if(button.equals(solve))//else check source onject is solve button { txtArea.setText("Solve button clicked!"); } else {//other wise it was new Puzzel button txtArea.setText("New Puzzel button clicked!"); } } } }

TestSudoku.java:

import java.awt.Color; import javax.swing.*;

public class TestSudoku { public static void main(String args[]) { SudokuLayout frame=new SudokuLayout();//create oject 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); } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

The question is complete and heres the solution with a stepbystep explanation of drawing a class diagram for the provided Java program Class Diagram C... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!