我的菜单不会在我的Sudoku Grid上显示

时间:2014-04-24 04:42:16

标签: java swing user-interface jmenu

我为数独游戏制作了一块棋盘但是这件事让我很难过。现在已经很晚了,我已经工作了一段时间,我无法找到问题所在。如果有人能指出它会很好,谢谢!

   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());



       }




   }

3 个答案:

答案 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);