Я работаю над программой Java, которая решает головоломки судоку. Пока все, что я закодировал, это класс, который рисует доску с помощью swing, и еще один класс, который вызывает класс gui.Swing gui не отображается, но ошибок нет?
Когда я пытаюсь запустить программу, ничего не происходит. Сообщения об ошибках не отображаются, но gui также не отображается. Он немедленно прекращается.
Вот мой код до сих пор:
класс Gui:
package sudoku;
import java.awt.*;
import javax.swing.*;
public class Gui {
Gui gui;
JPanel board;
JPanel subBoard[][];
GridLayout layout;
JLabel square[][];
public void load() {
gui = new Gui();
gui.setUp();
gui.buildBoard();
}
private void setUp() {
layout = new GridLayout(3, 3);
board = new JPanel(layout);
subBoard = new JPanel[3][3];
square = new JLabel[9][9];
}
private void buildBoard() {
// set up board
board.setSize(800, 600);
board.setVisible(true);
int mod = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
// add subBoards to board
subBoard[i][j] = new JPanel();
board.add(subBoard[i][j]);
subBoard[i][j].setLayout(layout);
subBoard[i][j].setVisible(true);
// add textfields to each subBoard
square[i + mod][j + mod] = new JLabel();
subBoard[i][j].add(square[i + mod][j + mod]);
square[i + mod][j + mod].setVisible(true);
}
mod += 3;
}
}
}
главный класс:
package sudoku;
public class SudokuSolver {
public static void main(String[] args) {
Gui gui = new Gui();
gui.load();
}
}
Я попытался запустить его в оба затмения и NetBeans, но получил тот же результат, как раз. Почему это не работает?
У вас есть класс 'Gui', который имеет член типа' Gui'? У меня болит голова. – splungebob
Вам нужно пройти учебники, так как они скажут вам, что вам нужно отображать компоненты в контейнере верхнего уровня. Там все объяснено. Обратите внимание: теперь хорошо знать, что ошибки компилятора и исключения во время выполнения не означают, что ошибок в логике нет. –