Advertisement
Moortiii

Sudoku Board Generator - FullArray

Jan 16th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.util.ArrayList;
  6. import java.util.Collections;
  7.  
  8. public class Main {
  9. public static void main(String[] args) {
  10. Main m = new Main();
  11. ArrayList<JTextField> game_board = m.generateIndividualBoards();
  12. m.draw_gui(game_board);
  13. }
  14.  
  15. private ArrayList<JTextField> generateIndividualBoards()
  16. {
  17. ArrayList<JTextField> game_board = new ArrayList<>();
  18.  
  19. for(int i = 0; i < 9; i++)
  20. {
  21. for(int j = 0; j < 9; j++)
  22. {
  23. game_board.add(new JTextField("" + (j + 1), 4));
  24. }
  25. }
  26. return game_board;
  27. }
  28.  
  29. private void draw_gui(ArrayList<JTextField> game_board) {
  30. JFrame frame = new JFrame("Sudoku Board");
  31. JPanel panel = new JPanel();
  32. JMenuBar menu_bar = new JMenuBar();
  33. JMenu file_menu = new JMenu("File");
  34. JMenuItem new_game = new JMenuItem("New Game");
  35. JMenuItem delete_game = new JMenuItem("Delete Game");
  36. JMenuItem exit = new JMenuItem("Exit");
  37.  
  38. for(JTextField game_tile : game_board)
  39. {
  40. int index = game_board.indexOf(game_tile);
  41. String current_tile = game_tile.getText();
  42. if(index > 9) {
  43. int index_check = index - 9;
  44. String check_tile = game_board.get(index_check).getText();
  45. boolean used = false;
  46. while(index_check > 0) {
  47. if(current_tile.equals(check_tile))
  48. {
  49. used = true;
  50. break;
  51. }
  52. index_check -= 9;
  53. }
  54. if(!used)
  55. {
  56. panel.add(game_tile);
  57. game_tile.setPreferredSize(new Dimension(150, 50));
  58. game_tile.setHorizontalAlignment(JTextField.CENTER);
  59. } else {
  60. System.out.println("Ran into an error");
  61. }
  62. } else {
  63. panel.add(game_tile);
  64. game_tile.setPreferredSize(new Dimension(150, 50));
  65. game_tile.setHorizontalAlignment(JTextField.CENTER);
  66. }
  67. }
  68.  
  69. frame.setJMenuBar(menu_bar);
  70.  
  71. menu_bar.add(file_menu);
  72. file_menu.add(new_game);
  73. file_menu.add(delete_game);
  74. file_menu.add(exit);
  75.  
  76. panel.setLayout(new GridLayout(9, 9));
  77. frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  78. frame.add(panel);
  79. frame.pack();
  80. frame.setVisible(true);
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement