我目前正在用 Java 开发我的第一个 Swing 项目。我想将我的 GUI 分成 3 个单独的类。我的主要班级,TicTacToeGUI以及另外两个班级:MenuBar和Board.我的菜单有问题。我不知道如何使它可见。代码正在编译,但没有显示菜单。井字游戏GUI:package TicTacToee;import javax.swing.*;import javax.swing.border.LineBorder;import java.awt.*;public class TicTacToeGUI { public TicTacToeGUI() { super(); Board board = new Board(); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { TicTacToeGUI window = new TicTacToeGUI(); //window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); }}木板:package TicTacToee;import javax.swing.*;import javax.swing.border.LineBorder;import java.awt.*;public class Board { private JFrame frame; private JButton[][] board; public Board(){ initializeBoard(); } public void initializeBoard() { frame = new JFrame(); frame.setTitle("Tic Tac Toe v0.1"); frame.setBounds(100, 100, 600, 600); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new BorderLayout(0, 0)); frame.setResizable(false); //Creating MENU MenuBar menuBar = new MenuBar(); frame.setJMenuBar(menuBar); frame.setVisible(true); //JPanel panel = new JPanel(); //panel.setBorder(new LineBorder(new Color(0, 0, 0), 2)); //frame.getContentPane().add(panel, BorderLayout.CENTER); //panel.setLayout(new GridLayout(3, 3, 2, 2)); //board = new JButton[3][3]; }}
1 回答
![?](http://img1.sycdn.imooc.com/54584c9c0001489602200220-100-100.jpg)
慕的地8271018
TA贡献1796条经验 获得超4个赞
您没有JMenuBar正确扩展。尝试这样的事情:
public void initializeMenuBar(){
menu = new JMenu("MENU");
this.add(menu);
newGame = new JMenuItem();
menu.add(newGame);
}
或者可能
public void initializeMenuBar(){
//Create menu Bar
menuBar = new JMenuBar();
menu = new JMenu("MENU");
menuBar.add(menu);
newGame = new JMenuItem();
menu.add(newGame);
this = menuBar;
}
添加回答
举报
0/150
提交
取消