**
@Java坦克大战项目1
**
功能描述
本程序是一个简单的坦克游戏程序,用Java语言编写,在jdk环境下运行。游戏开始时,用户通过键盘操纵坦克移动,转弯和射击,与敌人坦克进行交战,直到消灭所有敌人就可以过关。
任务1:对战界面
要完成敌我双方的对战,首先就是要先完成对我双方对战的平,也就是对战界面。对战界面是实现坦克大战的第一步,所有的运行机制都在该页面下。
对战界面图片
在这里,我们就要用到菜单组件。
菜单由Swing中的JMenu 类实现,可以包含多个菜单项和带分隔符的菜单。在菜单中,菜单项由 JMenuItem 类表示,分隔符由JSeparator 类表示。菜单的层次结构如下图:
常用类的介绍及简介:
序号 | 类名 | 简介 |
---|---|---|
1 | JMenuBar | 菜单栏,与顶层窗口相关联的,一个窗口只能有一个菜单栏 |
2 | JMenu | 菜单,是从菜单栏中显示的一个下拉菜单组件 |
3 | JMenuItem | 菜单项,菜单中的项目必须属于 JMenuItem 或任何它的子类。 |
4 | JCheckBoxMenuItem | 复选框菜单项, JMenuItem 的子类。 |
5 | JRadioButtonMenuItem | 单选按钮菜单项, JMenuItem 的子类。 |
6 | JPopupMenu | 快捷菜单, 可以在一个组件内的指定位置动态地弹出。 |
对战界面的主要代码:
zhucaidan = new JMenuBar();//主菜单
YouXi = new JMenu("游戏(G)");//主菜单中的菜单项
YouXi.setMnemonic(KeyEvent.VK_G);//快速访问符。
SheZhi = new JMenu("设置(T)");
SheZhi.setMnemonic(KeyEvent.VK_T);
BangZhu = new JMenu("帮助(P)");
BangZhu.setMnemonic(KeyEvent.VK_P);
KaiShi = new JMenuItem("开始(S)");//主菜单中菜单项的下拉表中的选项
KaiShi.setMnemonic(KeyEvent.VK_S);//快速访问符。
//将快捷方式设置为ctrl+s,按下此快捷方式时,相当于点击开始按钮。
KaiShi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
TuiChu = new JMenuItem("退出(E)");
TuiChu.setMnemonic(KeyEvent.VK_E);//快速访问符。
//将快捷方式设置为ctrl+e,按下此快捷方式时,相当于点击退出按钮。
TuiChu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
TuiChu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
System.exit(0);//关闭界面。
}
});
zhucaidan.add(YouXi);
zhucaidan.add(SheZhi);
zhucaidan.add(BangZhu);
this.setBounds(300,300,600,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
效果图如下:
关于快速访问符:
-
setMnemonic() 方法设置当前菜单的快速访问符。该符号必须对应键盘上的一个键,并且应该使用 java.awt.event.KeyEvent 中定义的 VK—XXX 键代码之一指定。快速访问符是一种快捷键,通常在按下 Alt 键和某个字母时激活。例如,常用的 Alt+F 是“文件” 菜单的快速访问符。
-
setAccelerator(KeyStroke) 方法来设置修改键,它能直接调用菜单项的操作监听器而不必显示菜单的层次结构。
到这里,我们的主界面菜单大体完成。