- 游戏界面菜单栏
菜单按钮包括窗口居中和退出
音效按钮里面可以设置开启音效
保存按钮是导出用户记录
帮助按钮是游戏说明
public class Snake {
//创建方法
public static void firstPage() {
//创建一个窗体类
JFrame frame = new JFrame();
JMenuBar menuBar = new JMenuBar(); //添加菜单栏
JMenu file = new JMenu("菜单(F) ");
file.setPreferredSize(new Dimension(100, 50));
file.setFont(new Font("宋体", Font.BOLD, 25));
JMenu file1 = new JMenu("音效(E) ");
file1.setPreferredSize(new Dimension(100, 50));
file1.setFont(new Font("宋体", Font.BOLD, 25));
JMenu file2 = new JMenu("保存(S) ");
file2.setPreferredSize(new Dimension(100, 50));
file2.setFont(new Font("宋体", Font.BOLD, 25));
JMenu file3 = new JMenu("帮助(H) ");
file3.setPreferredSize(new Dimension(100, 50));
file3.setFont(new Font("宋体", Font.BOLD, 25));
// 设置助记符为F,按下ALT + F 可以触发该菜单
file.setMnemonic('F');
// 设置助记符为E,按下ALT + E 可以触发该菜单
file1.setMnemonic('E');
// 设置助记符为S,按下ALT + S 可以触发该菜单
file2.setMnemonic('S');
// 设置助记符为H,按下ALT + H 可以触发该菜单
file3.setMnemonic('H');
JMenuItem open = new JMenuItem("居中");
JMenuItem open1 = new JMenuItem("退出");
JMenuItem open2 = new JMenuItem("帮助");
JMenuItem open3 = new JMenuItem("开");
//======================================
//设置字体
open.setFont(new Font("宋体", Font.BOLD, 25));
open1.setFont(new Font("宋体", Font.BOLD, 25));
open2.setFont(new Font("宋体", Font.BOLD, 25));
open3.setFont(new Font("宋体", Font.BOLD, 25));
//======================================
file.add(open);
// 设置菜单分隔符
file.addSeparator();
file.add(open1);
// 设置菜单分隔符
file.addSeparator();
file1.add(open3);
//============================
file3.add(open2);
//添加按钮
menuBar.add(file);
menuBar.add(file1);
menuBar.add(file2);
menuBar.add(file3);
// 设置菜单栏,使用这种方式设置菜单栏可以不占用布局空间
frame.setJMenuBar(menuBar);
//设置窗体大小
frame.setBounds(400, 200, 1500, 1000); // 窗体宽高
frame.setLocationRelativeTo(null);
frame.setResizable(true);//固定窗体
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口,程序结束
//监听按钮open,如果按下则会触发相对事件
open.addActionListener(new ActionListener() {
@Override
//窗体重新居中
public void actionPerformed(ActionEvent e) {
frame.setLocationRelativeTo(null);
}
});
//监听按钮open1,如果按下则会触发相对事件
open1.addActionListener(new ActionListener() {
@Override
//结束进程
public void actionPerformed(ActionEvent e) {
System.exit(0); //值为零,正常结束进程
}
});
//监听按钮open2,如果按下则会触发相对事件
open2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//捕捉异常,并且使用cmd来打开对应的文件
try {
@SuppressWarnings("unused")
Process process = Runtime.getRuntime().exec(
"cmd.exe /c notepad d:/java work/java/yxy-snake/help/帮助.txt");
} catch (Exception x) {
//显示文件
x.printStackTrace();
}
}
});
//监听按钮open,如果按下则会触发相对事件
open3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//设置音乐位置
AudioPlayWave audioPlayWave = new AudioPlayWave("music/Bd.wav");
//启动音乐
audioPlayWave.start();
}
});