中英版软件java课程设计报告(1).doc_第1页
中英版软件java课程设计报告(1).doc_第2页
中英版软件java课程设计报告(1).doc_第3页
中英版软件java课程设计报告(1).doc_第4页
中英版软件java课程设计报告(1).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计课程设计题目:GUI综合运用系 院:计算机科学系专 业:计算机科学与技术年 级: 成 员:完成日期:2010年6月20日指导教师:1、 课程设计内容、要求及分组情况总体简介本小组是第四组,组长是徐彪,组成员有:刘雪峰,彭真勇,张政,王青,朱利鹏,崔洪畅。小组的本次课程设计是一个综合性的课程设计,包括有游戏,如:俄罗斯方块、拼图游戏、连连看等;还有各种工具,如:计算器、画图、时钟等。每一个人都有自己要做的学习任务。 将本次课程设计的功能实现结构图如下:中文界面 文件工具游戏计算器日历编辑器图片查看器时钟画图打字练习退出俄罗斯方块拼图游戏连连看功夫熊猫长江七号中英切换关于小组信息操作说明中文英文本次课程设计是一个综合性的设计,在主要设计中又包含多个不同的项目,我们组的主函数界面如下: 英文版和中文版 在界面上方的工具栏中具有不同的选择,大家可以根据自己的爱好进行不同的选择。界面有两种语言可供选择,一种是英语,一种是简体中文: ;Tool中包括计算器,画图,日历等多种工具,游戏中也包含俄罗斯方块,拼图和连连看三个游戏。Picture中有各种图片选项这是我们小组整个课程设计中所能够实现的一些相关功能。2、 概要设计:2.1 开发工具及环境本次课程设计是在Myeclipse工具下完成。该工具重要是用于java程序的实现,故对我们实现本次课程设计有很重要的作用。2.2 任务及需求分析任务是完成一个具有多功能的课程设计,将本学期所学内容在本次课程设计中得到较好的应用。该课程设计主要有两大任务,一是实现办公中常用的一些工具,二是实现一些大家日常生活中经常使用的游戏。需求分析:2.3 功能模块设计主要功能是创建使用工具和改进一些游戏。该课程设计共分为六大模块,分别为文件,工具,游戏,图片观赏,中英切换,关于。文件中只有一个功能就是退出该程序运行;工具中主要实现了计数器,日历,编辑器,图片查看器,时钟,画图,打字游戏;游戏中主要实现了俄罗斯方块,拼图游戏,连连看等游戏;图片观赏中实现动物图片,植物图片,名车图片观赏,中英切换主要是实现两种语言的不同界面;关于是对本小组成员的简介等。3、 具体实现:3.1 类设计程序中有两个主函数,分别是中文和英文两种语言的功能实现。由于各个块内的程序代码太长,在此便不显示出来,具体请参看与文档一起的程序压缩包。下面就几个我们小组有特色的部分予以解释。一、在游戏这一模块中,包括俄罗斯方块,拼图和连连看游戏。在这里主要介绍拼图和连连看游戏,这也是我们本小组中较有特色的功能实现。在拼图中,我们实现了两个游戏,一个是功夫熊猫2的图片,另一个是长江七号的图片,都是大家近日非常喜爱看的电影。首先以下是游戏实现的界面:以上两个游戏的代码几乎完全相同,导入了不同的两个图片。 两者都是用一个Container包含两个Panel,其中一个Panel中是完整的图片,另一个则用于凌乱图片的拼接。Container中运用GridLayout(1,2)进行布局,将两个Panel加入其中,用于完整图片的Panel,运用GridLayout(1,1)进行布局,另一个运用GridLayout(3,3)进行布局。当把图片拼好之后程序会显示出共用多少步成功和用了多少时间实现了拼图。具体重要的代码如下:private static final long serialVersionUID = 1L;private JButton buttons;/ 存储按键的数组private Container container2;/ 一个容器private JPanel container;private GridLayout layout;/ 布局方式为GridLayoutprivate GridLayout layout2;private int count = 0, is = new int8;/ count的作用是计算按键移动的次数,is储存一个随机产生的1到8数字数组private long time1=0,time2=0;public Games() super(拼图游戏);/ 设置标题time1=System.currentTimeMillis();JButton pic=new JButton(new ImageIcon(0.jpg);JPanel p=new JPanel(new GridLayout(1,1);p.add(pic);layout = new GridLayout(3,3 );/ 3行3列container=new JPanel();container2 =this.getContentPane();/ 该容器的布局方式,及其重要,否则产生空引用异常container2.setLayout(new GridLayout(1,2);container2.add(container);container2.add(p);container.setLayout(layout);/container.add(container2,BorderLayout.WEST);/ 将该布局方式作用于容器buttonsij = new JButton(new ImageIcon(istemp+.jpg);container.add(buttonsij);buttonsij.addActionListener(this);/ 注册监听事件public void actionPerformed(ActionEvent event) / 事件处理,由于计算量小该处将所有按键单独分析JButton b = (JButton) event.getSource();if (b = buttons00) if (buttons01.getText().equals(9) buttons01.setIcon(buttons00.getIcon();buttons01.setText();buttons01.setVisible(true);buttons00.setText(9);buttons00.setVisible(false);count+; else if (buttons10.getText().equals(9) buttons10.setIcon(buttons00.getIcon();buttons10.setText();buttons10.setVisible(true);buttons00.setText(9);buttons00.setVisible(false);count+;连连看程序:程序运行的界面如下:连连看该游戏较为简单,分别实现了退出,重列和再来一局三个功能,在界面上方是游戏所获得分数,主要代码如下:public class lianliankan implements ActionListener JFrame mainFrame; /主面板 Container thisContainer; public void init() mainFrame=new JFrame(JKJ连连看); thisContainer = mainFrame.getContentPane(); thisContainer.setLayout(new BorderLayout(); centerPanel=new JPanel(); southPanel=new JPanel(); northPanel=new JPanel(); southPanel.setBackground(Color.lightGray);southPanel.add(exitButton); southPanel.add(resetButton); southPanel.add(newlyButton); northPanel.setBackground(Color.magenta);fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText(); northPanel.add(fractionLable); mainFrame.setBounds(200,100,500,300); mainFrame.setVisible(true); public void randomBuild() int randoms,cols,rows; for(int twins=1;twins=15;twins+) randoms=(int)(Math.random()*25+1); for(int alike=1;alike=2;alike+) cols=(int)(Math.random()*6+1); rows=(int)(Math.random()*5+1); while(gridcolsrows!=0) cols=(int)(Math.random()*6+1); rows=(int)(Math.random()*5+1); this.gridcolsrows=randoms; public void actionPerformed(ActionEvent e) if(e.getSource()=newlyButton) int grid = new int87; this.grid = grid; randomBuild(); mainFrame.setVisible(false); pressInformation=false; init(); /*public static void main(String args) lianliankan llk = new lianliankan(); llk.randomBuild(); llk.init(); */ 二、主界面特色主界面我们通过利用布局管理器中的CardLayout的布局管理方式,使得在主界面上加入累加按钮,这使得主界面不再单调,再通过菜单项中的选项进行选择使得界面内容更加丰富。部分界面如下主要代码如下:container=new Container();container.setLayout(myCard);container=this.getContentPane();myCard=new CardLayout();container.setLayout(myCard);button1=new JButton(new ImageIcon(0.jpg);button2=new JButton(new ImageIcon(a1.jpg);button3=new JButton(new ImageIcon(a2.jpg);button4=new JButton(new ImageIcon(h3.jpg);button5=new JButton(new ImageIcon(m5.jpg);button6=new JButton(new ImageIcon(a12.jpg);button7=new JButton(new ImageIcon(m4.jpg);button8=new JButton(new ImageIcon(m2.jpg);button1.addMouseListener(new MouseListenerDemo();button2.addMouseListener(new MouseListenerDemo();button3.addMouseListener(new MouseListenerDemo();button4.addMouseListener(new MouseListenerDemo();button5.addMouseListener(new MouseListenerDemo();button6.addMouseListener(new MouseListenerDemo();button7.addMouseListener(new MouseListenerDemo();button8.addMouseListener(new MouseListenerDemo();container.add(first,button1);container.add(second,button2);container.add(third,button3);container.add(fourth,button4);container.add(fifth,button5);container.add(sixth,button6);container.add(seventh,button7);container.add(eighth,button8); this.setContentPane(container); 4、 运行调试与分析讨论在完成本次课程设计过程中,小组成员积极参与讨论,不断地修改,当然在实现过程中我们不免会遇到这样或那样的问题,但我们小组积极讨论,认真实践。起初,小组只是分配每一个人完成哪一项功能,后来我们每一个人实现功能综合到了一起,最终将本次课程设计完成。在过程中,小组成员根据自己所接触的相同游戏将本小组的游戏加以完善,使其功能更加强大,并向生活中所接触的慢慢靠近。如,在拼图中开始时只有一个需要完成的图片,并没有完整的图片帮助大家完成拼图,经过小组讨论,将其完整图片添加到左侧和右侧。5、 设计体会与小结通过这次课程设计,我们体会到了小组合作精神的可贵。对于一个尤其是较大的程序或工程来说一个或两个人是不可能完成的,这需要大家的智慧。通过实验我们将书本上学到的东西运用于实践,反过来这又促进我们的学习。6、 参考文献Java核心技术 Cay S horstmann ,Gary Cornell Java程序设计基础 清华大学出版社7、 源代码import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.KeyStroke;import javax.swing.SwingConstants;public class MainControl extends JFrame JPanel southPanel;JMenuBar menuBar=new JMenuBar();JMenu File=new JMenu(File);JMenuItem Exit=new JMenuItem(Exit); JMenu Tool=new JMenu(Tool);JMenuItem Calculator=new JMenuItem(Calculator,C);JMenuItem NoteBook=new JMenuItem(NoteBook,N);JMenuItem Calendar=new JMenuItem(Calendar,R);JMenuItem ImageViewer=new JMenuItem(ImageViewer,I);JMenuItem Clock=new JMenuItem(Clock,c);JMenuItem KeyTest=new JMenuItem(KeyTest,K);JMenuItem Drsw=new JMenuItem(Draw,D);JMenuItem GInfor=new JMenuItem(Information,i);JMenu Game=new JMenu(Game);JMenuItem RussiaBlock=new JMenuItem(RussiaBlock,R);JMenu PinTu=new JMenu (PinTu);JMenuItem KongFPP=new JMenuItem(KongFuPanda);JMenuItem ChangJQH=new JMenuItem(ChangJiangQiHao);JMenuItem FireWorks=new JMenuItem(FireWorks,F);JMenuItem LianlianKan=new JMenuItem(LianLianKan,L);JMenu About=new JMenu(About);JMenuItem Infor=new JMenuItem(Information,I);JMenuItem PInfor=new JMenuItem(Preface Imformation,P);JMenu Trans=new JMenu(C-E exchange);JMenuItem English=new JMenuItem(English,E);JMenuItem SimpleChinese=new JMenuItem(SimpleChinese,S);JMenu Pic=new JMenu(Picture);JMenuItem mamal=new JMenuItem(Mamal,M);JMenuItem botony=new JMenuItem(Botony,B);JMenuItem Fcar=new JMenuItem(FamousCars,F);/The memebers of the fourth groupCardLayout myCard;JButton button1,button2,button3,button4,button5,button6,button7,button8;Container container;public MainControl(String s) container=new Container();container.setLayout(myCard);container=this.getContentPane();myCard=new CardLayout();container.setLayout(myCard);button1=new JButton(new ImageIcon(0.jpg);button2=new JButton(new ImageIcon(a1.jpg);button3=new JButton(new ImageIcon(a2.jpg);button4=new JButton(new ImageIcon(h3.jpg);button5=new JButton(new ImageIcon(m5.jpg);button6=new JButton(new ImageIcon(a12.jpg);button7=new JButton(new ImageIcon(m4.jpg);button8=new JButton(new ImageIcon(m2.jpg);button1.addMouseListener(new MouseListenerDemo();button2.addMouseListener(new MouseListenerDemo();button3.addMouseListener(new MouseListenerDemo();button4.addMouseListener(new MouseListenerDemo();button5.addMouseListener(new MouseListenerDemo();button6.addMouseListener(new MouseListenerDemo();button7.addMouseListener(new MouseListenerDemo();button8.addMouseListener(new MouseListenerDemo(); container.add(first,button1);container.add(second,button2);container.add(third,button3);container.add(fourth,button4);container.add(fifth,button5);container.add(sixth,button6);container.add(seventh,button7);container.add(eighth,button8); this.setContentPane(container);/this.setResizable(false);this.setTitle(s);this.setVisible(true);this.setSize(300,400);/this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocation(500, 200);File.add(Exit);Exit.setAccelerator(KeyStroke.getKeyStroke(ctrl E);Tool.add(Calculator);Tool.add(Calendar);Tool.add(NoteBook);Tool.add(ImageViewer);Tool.add(Clock);Tool.add(KeyTest); Game.add(RussiaBlock);Game.add(PinTu);PinTu.add(KongFPP);PinTu.add(ChangJQH);Game.add(LianlianKan);Game.add(GInfor); Trans.add(SimpleChinese);Pic.add(mamal);Pic.add(botony);Pic.add(Fcar);About.add(Infor);About.add(PInfor);menuBar.add(File);menuBar.add(Tool);menuBar.add(Game);menuBar.add(Pic);menuBar.add(Trans);menuBar.add(About);this.setJMenuBar(menuBar);Exit.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)System.exit(0); );Calculator.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)new SunnyCalculator(););NoteBook.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)new MyTextEditor(My document););ImageViewer.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)new ImageViewer(););Clock.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) Clock clock=new Clock(); erval(););KeyTest.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JFrame help = new JFrame(Words Exercise);help.setVisible(true);help.setDefaultCloseOperation(3);help.addKeyListener(new keyTest(help););GInfor.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JOptionPane.showMessageDialog(null, Gameplaying properly is good for you +n+Addicting Gameplaying is harmful +Have a good time!););Calendar.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JFrame frame = new JFrame(A simple Calendar of time); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MyCalendar myCalendar = new MyCalendar(); myCalendar.init(); frame.getContentPane().add(myCalendar); frame.setLocation(330,80); frame.setSize(360, 212); frame.setVisible(true); );LianlianKan.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)lianliankan llk = new lianliankan(); llk.randomBuild(); llk.init(); );RussiaBlock.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)new RussiaBlocksGame(Russia Blocks Game););KongFPP.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)Games game = new Games(); /game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); );ChangJQH.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)new Games2(););Infor.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JOptionPane.showMessageDialog(null, This is the fourth groups works of Java+n+ Members: +n+ Gameplaying properly is good for you +n+Addicting Gameplaying is harmful +Have a good time!););PInfor.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JOptionPane.showMessageDialog(null, Click the picture,and another picture will be shown.);); mamal.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)container.removeAll();button1=new JButton(new ImageIcon(a1.jpg);button2=new JButton(new ImageIcon(a2.jpg);button3=new JButton(new ImageIcon(a3.jpg);button4=new JButton(new ImageIcon(a4.jpg);button5=new JButton(new ImageIcon(a5.jpg);button6=new JButton(new ImageIcon(a6.jpg);button7=new JButton(new ImageIcon(a7.jpg);button8=new JButton(new ImageIcon(a8.jpg);button1.addMouseListener(new MouseListenerDemo();button2.addMouseListener(new MouseListenerDemo();button3.addMouseListener(new MouseListenerDemo();button4.addMouseListener(new MouseListenerDemo();button5.addMouseListener(new MouseListenerDemo();button6.addMouseListener(new MouseListenerDemo();button7.addMouseListener(new MouseListenerDemo();button8.addMouseListener(new MouseListenerDemo(); container.add(first,button1);container.add(second,button2);container.add(third,button3);container.add(fourth,button4);container.add(fifth,button5);container.add(sixth,button6);container.add(seventh,button7);container.add(eighth,button8););botony.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) container.removeAll();button1=new JButton(new ImageIcon(m1.jpg);button2=new JButton(new ImageIcon(m2.jpg);button3=new JButton(new ImageIcon(m3.jpg);button4=new JButton(new ImageIcon(m4.jpg);button5=new JButton(new ImageIcon(m5.jpg);button6=new JButton(new ImageIcon(md0.jpg);button7=new JButton(new ImageIcon(md1.jpg);button8=new JButton(new ImageIcon(md2.jpg);button1.addMouseListener(new MouseListenerDemo();button2.addMouseListener(new MouseListenerDemo();button3.addMouseListener(new MouseListenerDemo();button4.addMouseListener(new MouseListenerDemo();button5.addMouseListener(new MouseListenerDemo();button6.addMouseListener(new MouseListenerDemo();button7.addMouseListener(new MouseListenerDemo();button8.addMouseListener(new MouseListenerDemo(); container.add(first,button1);container.add(second,button2);conta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论