2014-03-12 49 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