我为数独游戏制作了一块棋盘但是这件事让我很难过。现在已经很晚了,我已经工作了一段时间,我无法找到问题所在。如果有人能指出它会很好,谢谢!
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
public class SudokuPanel extends JFrame {
public final int SQUARE_COUNT = 9;
public Squares [] squares = new Squares[SQUARE_COUNT];
public SudokuPanel(){
super("Sudoku");
setSize(600,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(1,1));
setVisible(true);
setLocationRelativeTo(null);
JPanel panel = new JPanel(new GridLayout(3,3));
for(int i=0; i<SQUARE_COUNT; i++){
squares[i] = new Squares();
panel.add(squares[i]);
}
add(panel);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu reset = new JMenu();
menuBar.add(reset);
JMenu help = new JMenu();
menuBar.add(help);
JMenu newPuzzle = new JMenu();
menuBar.add(newPuzzle);
JMenu exit = new JMenu();
menuBar.add(exit);
class exitaction implements ActionListener{
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
exit.addActionListener(new exitaction());
}
}
答案 0 :(得分:1)
在框架中添加所有组件之后调用setVisible(true)
方法。
答案 1 :(得分:1)
在添加菜单之前,您可以设置GUI。
此外,当您创建JMenus时,您没有为它们命名。请尝试使用JMenu reset = new JMenu("Reset");
代替JMenu reset = new JMenu(BLANK);
答案 2 :(得分:1)
请为菜单添加文字。在您的代码中,请尝试使用以下代码
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu reset = new JMenu("Reset");
menuBar.add(reset);
JMenu help = new JMenu("Help");
menuBar.add(help);
JMenu newPuzzle = new JMenu("New Puzzle");
menuBar.add(newPuzzle);
JMenu exit = new JMenu("Exit");
menuBar.add(exit);