rendered paste body import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class SudokuBoard extends Applet
{
private Panel options;
private Button easy,medium,hard,help,solve;
private Panel sudokuGrid;
private TextField[][] grid;
private String[][] gridEasy,gridMedium,gridHard;
private int board;
public SudokuBoard()
{
options=new Panel();
easy=new Button("Easy");
medium=new Button("Medium");
hard=new Button("Hard");
help=new Button("Help");
solve=new Button("Solve");
help.setEnabled(false);
solve.setEnabled(false);
easy.addActionListener(new EasyButtonListener());
medium.addActionListener(new MediumButtonListener());
hard.addActionListener(new HardButtonListener());
help.addActionListener(new HelpButtonListener());
solve.addActionListener(new SolveButtonListener());
options.add(easy);
options.add(medium);
options.add(hard);
options.add(help);
options.add(solve);
sudokuGrid=new Panel();
sudokuGrid.setLayout(new GridLayout(9,9));
grid=new TextField[9][9];
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
grid[i][j]=new TextField(1);
sudokuGrid.add(grid[i][j]);
}
}
add(options,BorderLayout.NORTH);
add(sudokuGrid,BorderLayout.CENTER);
}
public class EasyButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
grid[0][0].setText("1");
grid[0][2].setText("3");
grid[0][3].setText("5");
grid[0][5].setText("8");
grid[0][8].setText("9");
grid[1][2].setText("8");
grid[1][4].setText("4");
grid[1][5].setText("7");
grid[1][6].setText("6");
grid[2][1].setText("4");
grid[2][2].setText("7");
grid[3][0].setText("2");
grid[3][1].setText("7");
grid[3][5].setText("3");
grid[3][6].setText("4");
grid[3][7].setText("9");
grid[4][3].setText("9");
grid[4][5].setText("2");
grid[5][1].setText("5");
grid[5][2].setText("9");
grid[5][3].setText("6");
grid[5][7].setText("2");
grid[5][8].setText("1");
grid[6][6].setText("2");
grid[6][7].setText("7");
grid[7][2].setText("2");
grid[7][3].setText("4");
grid[7][4].setText("9");
grid[7][6].setText("8");
grid[8][0].setText("3");
grid[8][3].setText("7");
grid[8][5].setText("1");
grid[8][6].setText("9");
grid[8][8].setText("4");
gridEasy[0][0]="1";
gridEasy[0][1]="9";
gridEasy[0][2]="3";
gridEasy[0][3]="5";
gridEasy[0][4]="6";
gridEasy[0][5]="8";
gridEasy[0][6]="7";
gridEasy[0][7]="4";
gridEasy[0][8]="2";
gridEasy[1][0]="5";
gridEasy[1][1]="2";
gridEasy[1][2]="8";
gridEasy[1][3]="1";
gridEasy[1][4]="4";
gridEasy[1][5]="7";
gridEasy[1][6]="6";
gridEasy[1][7]="3";
gridEasy[1][8]="9";
gridEasy[2][0]="6";
gridEasy[2][1]="4";
gridEasy[2][2]="7";
gridEasy[2][3]="2";
gridEasy[2][4]="3";
gridEasy[2][5]="9";
gridEasy[2][6]="1";
gridEasy[2][7]="5";
gridEasy[2][8]="8";
gridEasy[3][0]="2";
gridEasy[3][1]="7";
gridEasy[3][2]="1";
gridEasy[3][3]="8";
gridEasy[3][4]="5";
gridEasy[3][5]="3";
gridEasy[3][6]="4";
gridEasy[3][7]="9";
gridEasy[3][8]="6";
gridEasy[4][0]="4";
gridEasy[4][1]="3";
gridEasy[4][2]="6";
gridEasy[4][3]="9";
gridEasy[4][4]="1";
gridEasy[4][5]="2";
gridEasy[4][6]="5";
gridEasy[4][7]="8";
gridEasy[4][8]="7";
gridEasy[5][0]="8";
gridEasy[5][1]="5";
gridEasy[5][2]="9";
gridEasy[5][3]="6";
gridEasy[5][4]="7";
gridEasy[5][5]="4";
gridEasy[5][6]="3";
gridEasy[5][7]="2";
gridEasy[5][8]="1";
gridEasy[6][0]="9";
gridEasy[6][1]="1";
gridEasy[6][2]="4";
gridEasy[6][3]="3";
gridEasy[6][4]="8";
gridEasy[6][5]="6";
gridEasy[6][6]="2";
gridEasy[6][7]="7";
gridEasy[6][8]="5";
gridEasy[7][0]="7";
gridEasy[7][1]="6";
gridEasy[7][2]="2";
gridEasy[7][3]="4";
gridEasy[7][4]="9";
gridEasy[7][5]="5";
gridEasy[7][6]="8";
gridEasy[7][7]="1";
gridEasy[7][8]="3";
gridEasy[8][0]="3";
gridEasy[8][1]="8";
gridEasy[8][2]="5";
gridEasy[8][3]="7";
gridEasy[8][4]="2";
gridEasy[8][5]="1";
gridEasy[8][6]="9";
gridEasy[8][7]="6";
gridEasy[8][8]="4";
board=1;
help.setEnabled(true);
solve.setEnabled(true);
}
}
public class MediumButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
board=2;
help.setEnabled(true);
solve.setEnabled(true);
}
}
public class HardButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
board=3;
help.setEnabled(true);
solve.setEnabled(true);
}
}
public class HelpButtonListener implements ActionListener
{
int run=1;
public void actionPerformed(ActionEvent event)
{
if(board==1)
{
while(run!=0)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(grid[i][j].getText()!=gridEasy[i][j])
{
grid[i][j].setText(gridEasy[i][j]);
run=0;
}
}
}
}
run=1;
}
if(board==2)
{
while(run!=0)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(grid[i][j].getText()!=gridMedium[i][j])
{
grid[i][j].setText(gridMedium[i][j]);
run=0;
}
}
}
}
run=1;
}
if(board==3)
{
while(run!=0)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(grid[i][j].getText()!=gridHard[i][j])
{
grid[i][j].setText(gridHard[i][j]);
run=0;
}
}
}
}
run=1;
}
}
}
public class SolveButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if(board==1)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(grid[i][j].getText()!=gridEasy[i][j])
{
grid[i][j].setText(gridEasy[i][j]);
}
}
}
}
if(board==2)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(grid[i][j].getText()!=gridMedium[i][j])
{
grid[i][j].setText(gridMedium[i][j]);
}
}
}
if(board==3)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(grid[i][j].getText()!=gridHard[i][j])
{
grid[i][j].setText(gridHard[i][j]);
}
}
}
}
}
}
}
}