📄 gamemenu.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 + -