package com.company;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Main m = new Main();
ArrayList<JTextField> game_board = m.generateIndividualBoards();
m.draw_gui(game_board);
}
private ArrayList<JTextField> generateIndividualBoards()
{
ArrayList<JTextField> game_board = new ArrayList<>();
for(int i = 0; i < 9; i++)
{
for(int j = 0; j < 9; j++)
{
game_board.add(new JTextField("" + (j + 1), 4));
}
}
return game_board;
}
private void draw_gui(ArrayList<JTextField> game_board) {
JFrame frame = new JFrame("Sudoku Board");
JPanel panel = new JPanel();
JMenuBar menu_bar = new JMenuBar();
JMenu file_menu = new JMenu("File");
JMenuItem new_game = new JMenuItem("New Game");
JMenuItem delete_game = new JMenuItem("Delete Game");
JMenuItem exit = new JMenuItem("Exit");
for(JTextField game_tile : game_board)
{
int index = game_board.indexOf(game_tile);
String current_tile = game_tile.getText();
if(index > 9) {
int index_check = index - 9;
String check_tile = game_board.get(index_check).getText();
boolean used = false;
while(index_check > 0) {
if(current_tile.equals(check_tile))
{
used = true;
break;
}
index_check -= 9;
}
if(!used)
{
panel.add(game_tile);
game_tile.setPreferredSize(new Dimension(150, 50));
game_tile.setHorizontalAlignment(JTextField.CENTER);
} else {
System.out.println("Ran into an error");
}
} else {
panel.add(game_tile);
game_tile.setPreferredSize(new Dimension(150, 50));
game_tile.setHorizontalAlignment(JTextField.CENTER);
}
}
frame.setJMenuBar(menu_bar);
menu_bar.add(file_menu);
file_menu.add(new_game);
file_menu.add(delete_game);
file_menu.add(exit);
panel.setLayout(new GridLayout(9, 9));
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
Comments