2014-03-12 51 views
-3

如何创建一个游戏菜单有三个界面的游戏菜单,第一个接口有两个选择退出,继续选择团队,继续或背部,第3的播放界面如何创建带有3个接口

package SimpleSoccer; 
import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.FlowLayout; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JMenuBar; 
import javax.swing.JPanel; 

/** * * @author Andyblem */ public class TopLevelDemo { 

static JButton startButton = new JButton("START"); 
static JButton exitButton = new JButton("EXIT"); 
static JButton backButton = new JButton("MENU"); 
static JPanel panel = new JPanel(new FlowLayout()); 
static JFrame frame; 
private static void createAndShowGUI(){ 

    frame = new JFrame("Top Level Demo"); 
    frame.setSize(400,400); 
    frame.setResizable(false); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    JMenuBar cyanMenuBar = new JMenuBar(); 
    cyanMenuBar.setOpaque(true); 
    cyanMenuBar.setBackground(Color.cyan); 
    cyanMenuBar.setPreferredSize(new Dimension(200,180)); 

    JLabel yellowLabel = new JLabel(); 
    yellowLabel.setOpaque(true); 
    yellowLabel.setBackground(Color.yellow); 
    yellowLabel.setPreferredSize(new Dimension(200,20)); 
    frame.setJMenuBar(cyanMenuBar); 


    frame.getContentPane().add(panel); 
    panel.add(startButton); 
    panel.add(exitButton); 
    // frame.getContentPane().add(exitButton); 
    frame.pack(); 
    frame.setVisible(true); 
} 

public static void main(String args[]){ 
    createAndShowGUI(); 
} 

} 
+2

格式问题,我觉得这个问题不清楚。你的代码目前做了什么以及你需要哪些特定的部分? – PakkuDon

+0

我的代码在屏幕上显示两个按钮(退出按钮和继续按钮)。如果您选择退出按钮退出程序,如果选择继续,则继续在选择团队的同一窗口中的另一个面板。窗口,您可以选择返回第一个窗口或继续游戏 –

回答

2

“问题”(如果你甚至可以称之为)有点不清楚。好像你只是不知道从哪里开始。所以我会给你一个小费。

我会做的是:

  • 使用CardLayout。布局所做的是“图层”面板,使它们可以通过如show(pickAPanelToShow),next(nextPanel)previous(previousPanel)等方法导航。

  • 你可以做的是第一页上有两个按钮,如果按下continue,那么next()方法可以带你到chooseTeamPanel。从该面板中选择球队后,您可以导航到gamePanel

你可以看到更多的How to use CardLayout,你可以一边看一个例子here

+0

您真的很喜欢CardLayout:D 仅供参考,是否有任何针对连续JFrames的客观争论?我知道他们堆放在任务栏上。 – Gorbles

+0

@Gorb _“目标”_我不知道。但我认为CardLayout更易于维护,并且是一种更清洁的方法。 –

+0

我发现将不同的对象或工具封装在自己的框架中会更好,但我绝对会看到你来自哪里 - 特别是像游戏启动过程那样简单。谢谢回复! :) – Gorbles