使用java的Sudoku GUI

kom*_*sci 5 java user-interface swing solver sudoku

我正在为我正在制作的这个数独求解器的GUI工作.我设法打印出了没有问题的电路板.但是,我想知道如何将3x3区域与某种较粗或有色线区分开来.

基本上类似于下图的东西.

数独

下面是我已经实现的代码.谢谢!

    Board = new JPanel(new GridLayout(9, 9));
    for(int i= 0; i < 9; i++) {

        for(int j = 0; j < 9; j++) {

            board[i][j] = new JLabel();

            board[i][j].setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));


            Font font = new Font("Arial", Font.PLAIN, 20);

            board[i][j].setFont(font);

            board[i][j].setForeground(Color.WHITE);

            board[i][j].setBackground(Color.WHITE);


            board[i][j].setOpaque(true);

            board[i][j].setHorizontalAlignment(JTextField.CENTER);

            Board.add(board[i][j]);

        }
    }
Run Code Online (Sandbox Code Playgroud)

Ern*_*ill 6

到目前为止,最简单的方法是使用9个3x3 JPanelJLabels嵌套到一个大的3x3 JPanelJPanels中.然后你可以只为小3x3应用特殊边框.

  • 还是不明白我怎么做到这一点.我在线看了,我能找到的就是命令提示板.他们似乎正在使用modulo 3语句来使它们脱颖而出.JLabel是否有类似的方式可以更轻松,更短暂地完成? (3认同)