我目前正在用 Java 開發(fā)我的第一個(gè) Swing 項(xiàng)目。我想將我的 GUI 分成 3 個(gè)單獨(dú)的類。我的主要班級(jí),TicTacToeGUI以及另外兩個(gè)班級(jí):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 回答

慕的地8271018
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
您沒有JMenuBar正確擴(kuò)展。嘗試這樣的事情:
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;
}
添加回答
舉報(bào)
0/150
提交
取消