⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamemenu.java

📁 打地鼠游戏,简单的java图形应用,初学者实现的不好请大家原谅
💻 JAVA
字号:
package src;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

public class GameMenu extends JMenuBar
{
	environment fa;
	Action[] actions;
	JMenu menuFile = new JMenu("开始");
	JMenu menuHelp = new JMenu("帮助");
	JMenu menuScore = new JMenu("排行");

	public GameMenu(environment temp){
		super();
		fa = temp;
		Action[] actions =  //Action数组,各种操作命令
                        {
                                new NewAction(fa),
                                new ClearAction(fa),
                                new RestartAction(fa),
                                new ScoreAction(fa),
                                new HelpAction(fa)
		};
		menuFile.add(new JMenuItem(actions[0])); //增加新菜单项
        menuFile.add(new JMenuItem(actions[1]));
        menuFile.add(new JMenuItem(actions[2]));
		menuScore.add(new JMenuItem(actions[3]));
		menuHelp.add(new JMenuItem(actions[4]));
		add(menuFile);
		add(menuScore);
		add(menuHelp);
	}
}

class NewAction extends AbstractAction 
{ //新建文件命令
	NewGameDialog display;
	environment fa;
	public NewAction(environment temp) {
		super("新建游戏");
		fa = temp;
    }
    public void actionPerformed(ActionEvent e) {
		display = new NewGameDialog(fa);
		if( fa.miceNum == 0 || fa.picNum == 0 || fa.timeLength == 0 ){
			return;
		}
		fa.init();//新建游戏时只是初始化,等待按键开始
    }
}
class ScoreAction extends AbstractAction
{
	environment fa;
	public ScoreAction(environment temp){
		super("分数排名");
		fa = temp;
	}
	public void actionPerformed(ActionEvent e){
		
	}
}
class HelpAction extends AbstractAction
{
	environment fa;
	public HelpAction(environment temp){
		super("帮助");
		fa = temp;
	}
	public void actionPerformed(ActionEvent e){
		
	}
}
class ClearAction extends AbstractAction
{
	environment fa;
	public ClearAction(environment temp){
		super("全部清除");
		fa = temp;
	}
	public void actionPerformed(ActionEvent e){
		int n = JOptionPane.showConfirmDialog(fa._main,"确认全部清除么?","确认对话框",JOptionPane.YES_NO_OPTION);
		if(n == JOptionPane.YES_OPTION){
			try{
				fa.contentPane.removeAll();
				fa.contentPane.repaint();
			}
			catch(Exception ex){
				System.out.println("清除时错误" + fa.getStatus());
			}
		}
		else if(n == JOptionPane.NO_OPTION){
		}
	}
};
class RestartAction extends AbstractAction
{//重新开始命令
	environment fa;
	public RestartAction(environment temp){
		super("重新开始");
		fa = temp;
	}
	public void actionPerformed(ActionEvent e){
		int n = JOptionPane.showConfirmDialog(fa._main,"确认重新开始么?","确认对话框",JOptionPane.YES_NO_OPTION);
		if(n == JOptionPane.YES_OPTION){
			try{
				fa._game.gameEnd();
				fa.init();
				fa.run();
			}
			catch(Exception ex){
				System.out.println("重新开始时错误" + fa.getStatus());
			}
		}
		else if(n == JOptionPane.NO_OPTION){
		}
	}
};

/**新建游戏选项---只有这里可以更改地鼠个数和背景图片等等*/
class NewGameDialog extends JDialog implements ActionListener
{
	String displayString;
	environment fa;

	Container contentPane;
	JTextField jta1,jta2,jta3;
	JButton jbY,jbN;
	Box baseBox,box1,box2,box3,box4;

	NewGameDialog(environment temp){
		super(temp._main,"建立新游戏",true);
		fa = temp;
		contentPane = getContentPane();
		setLocation(200,200);
		setSize(200,200);
		jta1 = new JTextField(5);
		jta2 = new JTextField(5);
		jta3 = new JTextField(5);
		jbY = new JButton("确认");
		jbN = new JButton("取消");
		jbY.addActionListener(this);
		jbN.addActionListener(this);
		box1 = Box.createHorizontalBox();
		box2 = Box.createHorizontalBox();
		box3 = Box.createHorizontalBox();
		box4 = Box.createHorizontalBox();
		baseBox = Box.createVerticalBox();
		box1.add(Box.createHorizontalStrut(8));box1.add(new JLabel("地鼠的个数"));box1.add(Box.createHorizontalStrut(8));box1.add(jta1);box1.add(Box.createHorizontalStrut(8));
		box4.add(Box.createHorizontalStrut(8));box4.add(new JLabel("游戏时间"));box4.add(Box.createHorizontalStrut(8));box4.add(jta3);box4.add(Box.createHorizontalStrut(8));
		box3.add(Box.createHorizontalStrut(8));box3.add(new JLabel("选择背景图编号"));box3.add(Box.createHorizontalStrut(8));box3.add(jta2);box3.add(Box.createHorizontalStrut(8));
		box2.add(Box.createHorizontalStrut(8));box2.add(jbY);box1.add(Box.createHorizontalStrut(8));box2.add(jbN);box2.add(Box.createHorizontalStrut(8));
		baseBox.add(Box.createVerticalStrut(8));baseBox.add(box1);baseBox.add(Box.createVerticalStrut(8));baseBox.add(box3);baseBox.add(Box.createVerticalStrut(8));baseBox.add(box4);baseBox.add(Box.createVerticalStrut(8));baseBox.add(box2);baseBox.add(Box.createVerticalStrut(8));
		contentPane.add(baseBox);
		setVisible(true);
	}
	public void actionPerformed(ActionEvent e){
		if(e.getSource() == jbY){
			try{
				fa.miceNum = Integer.parseInt(jta1.getText());
				fa.picNum = Integer.parseInt(jta2.getText());
				fa.timeLength = Integer.parseInt(jta3.getText());
				
			}
			catch(Exception ex){fa.miceNum = 10;
				fa.picNum =1;
				fa.timeLength =10;System.out.println("输入有误");}
		}
		setVisible(false);
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -