《Java程序设计实验》综合课程设计报告
——英雄联盟选英雄界面设计
1 / 18
2014计算机科学与技术班 2016年12月2日
2 / 18
一、 实验目的
设计一个程序来实现英雄联盟游戏时选择英雄的流程,通过此实验设计熟练掌握Java Swing的组件、容器、布局管理器、事件处理机制及java的图形处理。
二、 实验原理
本实验要处理的最基本对象就是英雄及英雄菜单,因此可以设计Hero类和HeroMenu类。程序在选择英雄过程中是分为英雄、符文、天赋三种类别来进行选择的,因此这里分别建立了RoleMenu类、FuwenMenu类、TianfuMenu类。这三个类的父类是HeroMenu类,这样子类可以继承父类的一些属性和方法,并且可以实现多态。登陆/选择英雄主界面设计为一个窗口,是JFrame的子类,名为OrderingWindow类。通过该主界面切换到分类选英雄界面和显示选择明细及技能界面。分类选择英雄界面用一个对话框来实现,设计为JDialog的子类OrderHero类来处理。最后的选英雄界面和显示选择明细及技能界面用ShowOrderingRecord类来实现。是JDialog的子类。
三、 实验内容
1、 Hero类 (1) 成员变量
name、description、ATK、image分别用来表示英雄的名字、英雄的描述、英雄的攻击力、英雄的图像。
(2) 成员方法
3 / 18
Hero(String ,String ,double,String)是构造方法,创建Hero
对象时使用该构造方法,实现对Hero对象的初始化。 getName()方法。Hero对象调用该方法返回它的名字。 getDescription()方法。Hero对象调用该方法返回它的描述。 getATK()方法。Hero对象调用该方法返回它的攻击力。 getImage()方法。Hero对象调用该方法返回它的图像的引用。 代码为:
publicclass Hero{ private String name;
private String description; privatedouble ATK; private Image image;
public Hero(String name, String description, double ATK, String ) { super();
this.name = name;
this.description = description; this.ATK = ATK;
Toolkit toolkit=Toolkit.getDefaultToolkit(); this.image=toolkit.createImage(); }
public String getName() { return name; }
public String getDescription() { return description; }
publicdouble getATK() { return ATK; }
4 / 18
public Image getImage() { return image; } }
2、 HeroMenu类 (1) 成员变量
HeroMenu对象是英雄对象的集合,用LinkedList数据结构来处理。
(2) 成员方法
Hero(String ,String ,double ,String)是构造方法,创建Hero对象时使用该构造方法,实现对Hero对象的初始化。 addItem(String ,String ,double ,String)方法用于往链表
heroMenu中添加英雄元素。
GetHeroMenu()方法。HeroMenu对象调用此方法可以返回英雄
的链表,这个方法也是为后面初始化OrderHero窗口做准备。 代码为:
publicclass HeroMenu {
LinkedList
publicHeroMenu(){
heroMenu=new LinkedList
publicvoid addItem(String name,String description,double ATK ,String ){
Hero hero=new Hero(name,description,ATK,);
5 / 18