如何将JDialog框添加到菜单栏中



我想知道是否有人能帮助我解决我遇到的问题?因此,我正在创建一个跳棋游戏,我希望在我的窗口顶部添加一个菜单栏,其代码可以在下面看到,但在其中一个菜单条选项卡中,我希望添加游戏规则,以便以清晰的格式显示规则。我决定使用一个JDialog框,我已经创建了它,它的代码可以在框的这一部分看到。我的问题是,我该如何将其添加到第一部分的代码中,我已经将其标记为1),因为它们是java中的不同类,我希望将JDialog框添加到代码的第9行,该部分声明:"我的对话框应该去哪里!!",我试着在网上寻求帮助,但没有直接从这个问题中找到任何东西,谢谢。

    1) public static void main(String[] args) {
    JFrame window = new JFrame("Checkers"); // Sets the title at the top of the window as 'Checkers'
    JMenuBar bar = new JMenuBar(); // Adds the Menu Bar
    JMenu fileMenu = new JMenu("File"); // Adds a File Tab to the Menu Bar
    JMenu HelpMenu = new JMenu("Help"); // Adds a Help Tab to the Menu Bar
    JMenuItem Exit = new JMenuItem("Exit"); // Adds the Exit sub-tab as an Item of the JMenu
    JMenuItem MainMenu = new JMenuItem("Main Menu"); // Adds the Main Menu sub-tab as an Item of the JMenu
    JMenu Rules = new JMenu("Rules of Checkers"); // Adds the Rules of Checkers sub-tab as an Item of the JMenu
    JMenuItem RulesText = new JMenuItem("Where my Dialog Box should go!");
    Rules.add(RulesText); // Adds the Rules Text Item into the Rules of Checkers tab.
    HelpMenu.add(Rules); // Adds the Rules of Checkers tab into the Help tab
    bar.add(HelpMenu); // Adds the Help tab to the Menu Bar
    fileMenu.add(MainMenu);// Adds the Main Menu sub-tab into the File tab 
    fileMenu.addSeparator(); // Adds a line in between the Main Menu sub-tab and the Exit sub-tab
    fileMenu.add(Exit); // Adds the Exit sub-tab into the Menu tab
    bar.add(fileMenu); // Adds the Menu tab to the Menu bar
    bar.add(HelpMenu); // Adds the Help tab to the Menu Bar
    window.setJMenuBar(bar); // Adds the Menu Bar to the application window
    Exit.addActionListener(new ActionListener() // Adds an ActionListener to the Exit Sub-tab
    {
        public void actionPerformed(ActionEvent ev)
        {
            System.exit(0); // This means that when the Exit sub-tab is clicked, it will exit the application 
        }
    });

我的JDialog框的代码,如果它有帮助的话,谢谢。

2) static JFrame frame;
public static void main(String args[])
{
JOptionPane.showMessageDialog(frame,
        "- Pieces must always move diagonallyn" +
        "- Single pieces are limited to forward movesn" +
        "- Kings may move both forward and backwardn" +
        "- When a piece is captured, it is removed from the boardn" +
        "- If a player is able to make a capture, there is no option, the jump must be maden" +
        "- When a piece reaches the opponents end of the board, it is crowned and becomes a King",
        "Rules for Checkers",
        JOptionPane.PLAIN_MESSAGE);

您所做的与"退出"菜单项所做的完全相同。也就是说,您创建了一个ActionListener,并将ActionListener添加到"规则"菜单项中。

然后在ActionListener代码中创建并显示选项窗格。

出现问题的原因是应用程序的整个设计都是错误的。您永远不应该使用main(…)方法对应用程序进行编码。main方法只用于创建应用程序的实例。我建议你看一下Swing教程中关于如何使用菜单的内容。MenuLookDemo将让您了解如何更好地构建代码。

此外,要与变量名称保持一致。变量名称不应以大写字符开头。

相关内容

  • 没有找到相关文章