为了账号安全,请及时绑定邮箱和手机立即绑定

其他类中的 Java Swing GUI

其他类中的 Java Swing GUI

翻阅古今 2021-06-09 17:28:34
我目前正在用 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 回答

?
慕的地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;


}


查看完整回答
反对 回复 2021-06-17
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信