项目功能描述
本程序是一个简单的坦克游戏程序,用Java语言编写,在jdk环境下运行。游戏开始时,用户通过键盘操纵坦克移动,转弯和射击,与敌人坦克进行交战,直到消灭所有敌人就可以过关。具体的功能模块以及每个模块的难度和具体实现要求如下图:
任务一 对战界面
要完成坦克大战中敌我双方的对战,首选要完成的就是敌方双方坦克对战的平台。
效果图如下:
代码如下:
package tank;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JSeparator;
public class MenuDemo extends JFrame{
JMenu gameMenu,editMenu;//菜单,是从菜单栏中显示的一个下拉菜单组件
JMenuItem startMenuItem,saveMenuItem,openMenuItem,exitMenuItem;//菜单项,菜单中的项目必
、、须属于 JMenuItem 或任何它的子类。
JMenuBar menuBar;//菜单栏,与顶层窗口相关联的,一个窗口只能有一个菜单栏
JSeparator separator;//分隔符
JPanel jpanel,center;
JLabel jl;
public MenuDemo(){
jl=new JLabel("Stage 1");
separator=new JSeparator();
gameMenu=new JMenu("游戏(G)");
gameMenu.setMnemonic(KeyEvent.VK_G);/*setMnemonic() 方法设置当前菜单的快速访问符。
该符号必须对应键盘上的一个键,
并且应该使用 java.awt.event.KeyEvent
中定义的 VK—XXX 键代码之一指定。
快速访问符是一种快捷键,通常在按下 Alt 键和某个字
母时激活。
例如,常用的 Alt+F 是“文件” 菜单的快速访问符。*/
editMenu=new JMenu("设置(T)");
startMenuItem=new JMenuItem("开始(S)");
saveMenuItem=new JMenuItem("保存");
menuBar=new JMenuBar();
exitMenuItem=new JMenuItem("退出(E)");
exitMenuItem.setMnemonic(KeyEvent.VK_E);
gameMenu.add(startMenuItem);
gameMenu.add(saveMenuItem);
gameMenu.add(separator);
gameMenu.add(exitMenuItem);
menuBar.add(gameMenu);
menuBar.add(editMenu);
CardLayout card=new CardLayout();
jpanel=new JPanel();
center=new JPanel(card);//创建一个卡片布局的容器
center.add("start",jpanel);//把不同界面的容器均添加到center容器中,用card.show()控制
//界面的切换。
card.show(center,"start");
jpanel.setBackground(Color.gray);
jpanel.add(jl,new FlowLayout(FlowLayout.CENTER));
this.getContentPane().add(center);//初始化一个容器,用来在容器上添加一些控件
//一个 content pane 是一个包含除菜单条(如果有的话)外所有框架的可视组件的容器。
this.setVisible(true);
this.setJMenuBar(menuBar);
this.setSize(550, 500);
this.setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MenuDemo();
}
}
转载:https://blog.csdn.net/sunshineFFSFor/article/details/102469875
查看评论