【问题标题】:How to make a start menu with another frame in Java?如何用Java中的另一个框架制作开始菜单?
【发布时间】:2013-12-11 08:43:06
【问题描述】:

所以我正在制作一款游戏,它运行良好,但我只需要一个带有 3 个按钮的开始菜单。播放、说明和退出按钮。问题是我希望它在与游戏本身不同的框架中,如果你按下开始,框架应该切换到游戏框架。有人可以帮我弄这个吗? 这是我的代码的一部分:

package frametest;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import javax.swing.*;

public class FrameTest extends JFrame implements ActionListener {
    public JPanel createContentPane() {
        //Jpanels and stuff
    }

    public JPanel createMainMenu() {
        //Start menu JPanels and stuff
    }

    private static void createAndShowGUI() {
        JFrame.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame("Poker Game");

        FrameTest demo = new FrameTest();
        frame.setContentPane(demo.createContentPane());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        frame.setSize(1080,640);
        frame.setVisible(false);

        JFrame menu = new JFrame("Poker Game");

        menu.setContentPane(demo.createMainMenu());

        menu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        menu.setSize(1080,640);
        menu.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() { 
                createAndShowGUI();
            }
        });
    }
}

【问题讨论】:

标签: java swing menu startmenu


【解决方案1】:

您的主要功能必须有一个设置frame 类,并且对于frame 是必不可少的,并且您应该有另一个用于游戏控制的类和一个用于菜单的类。

您应该在frame 中获得游戏控制器的即时信息,并在控制器菜单中执行相同操作,然后您可以拥有所需的单独frame

please use interfaces to have a clean code.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多