其他类中的 Java Swing GUI

我目前正在用 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];

    }

}


翻阅古今
浏览 143回答 1
1回答

慕的地8271018

您没有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;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java