版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java基于swing实现的弹球游戏代码这篇文章主要介绍了Java基于swing实现的弹球游戏代码,包含了窗体界面设计与游戏的逻辑功能处理,具有不错的参考借鉴价值,需要的朋友可以参考下本文实例讲述了Java基于swing实现的弹球游戏代码。分享给大家供大家参考。主要功能代码如下:复制代码代码如下:packageGame;importjava.awt.Graphics;importjava.awt.Insets;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.ArrayList;importjava.util.Random;importjavax.swing.ButtonGroup;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JOptionPane;importjavax.swing.JRadioButtonMenuItem;/***游戏界面类**@authorAdministrator**/publicclassGameextendsjavax.swing.JFrame{privatestaticfinallongserialVersionUID=1L;privatestaticGameUI;privateGraphicsg;privateListenerml;publicjavax.swing.JLabeltext_field;publicjavax.swing.JProgressBarpBar;privateStringcommand;publicArrayList<MyThread>list=newArrayList<MyThread>();privatejavax.swing.JToggleButtonbutton;publicstaticvoidmain(Stringargs[]){UI=newGame();UI.initUI();}/***初始化窗体的方法*/publicvoidinitUI(){//设置标题this.setTitle("是高手就坚持10s");//设置大小this.setSize(610,635);//设置关闭是退出程序this.setDefaultCloseOperation(3);//设置打开窗体时在屏幕中间显示this.setLocationRelativeTo(null);//设置窗体的流式布局管理器this.setLayout(newjava.awt.FlowLayout());//设置窗体背景颜色this.getContentPane().setBackground(java.awt.Color.black);//创建文本标签对象text_field=newjavax.swing.JLabel();javax.swing.JLabellable=newjavax.swing.JLabel("时间:");//设置文本标签前景颜色lable.setForeground(java.awt.Color.red);text_field.setForeground(java.awt.Color.red);//创建进度条对象pBar=newjavax.swing.JProgressBar(0,330);//创建按钮对象button=newjavax.swing.JToggleButton();button.setMargin(newInsets(0,0,0,0));button.setIcon(newjavax.swing.ImageIcon("images/Pause.gif"));button.setActionCommand("暂停");//通过匿名内部类来创建动作监听器java.awt.event.ActionListenerbutton_listener=newjava.awt.event.ActionListener(){publicvoidactionPerformed(ActionEvente){Stringcom=e.getActionCommand();if(com.equals("暂停")){button.setMargin(newInsets(0,0,0,0));button.setIcon(newjavax.swing.ImageIcon("images/start.gif"));button.setActionCommand("继续");for(inti=0;i<list.size();i++){list.get(i).PauseThread();}}if(com.equals("继续")){button.setMargin(newInsets(0,0,0,0));button.setIcon(newjavax.swing.ImageIcon("images/Pause.gif"));button.setActionCommand("暂停");for(inti=0;i<list.size();i++){list.get(i).ContinueThread();}}}};button.addActionListener(button_listener);this.add(button);this.add(lable);this.add(pBar);this.add(text_field);//的到菜单条JMenuBarbar=creatMenuBar();//为窗体设置菜单条this.setJMenuBar(bar);//设置窗体的可见性this.setVisible(true);}/***创建菜单条的方法**@return*/publicJMenuBarcreatMenuBar(){//创建菜单条对象JMenuBarbar=newJMenuBar();//创建菜单对象JMenumenu_menu=newJMenu("菜单");JMenudifficulty_menu=newJMenu("难度");JMenuhelp_menu=newJMenu("帮助");//创建菜单选项对象JMenuItemstar_item=newJMenuItem("开始");JMenuItemexit_item=newJMenuItem("退出");JMenuItemhelp_item=newJMenuItem("游戏说明");JMenuItemabout_item=newJMenuItem("关于");//创建单选选项JRadioButtonMenuItemeasy_item=newJRadioButtonMenuItem("简单");JRadioButtonMenuItemmiddle_item=newJRadioButtonMenuItem("中等");JRadioButtonMenuItemhard_item=newJRadioButtonMenuItem("困难");//创建一个按钮组ButtonGroupgroup=newButtonGroup();//将单选按钮添加到按钮组中group.add(easy_item);group.add(middle_item);group.add(hard_item);//将单选按钮添加到菜单中difficulty_menu.add(easy_item);difficulty_menu.add(middle_item);difficulty_menu.add(hard_item);//通过匿名内部类来创建动作监听器ActionListenerlistener=newActionListener(){publicvoidactionPerformed(ActionEvente){command=e.getActionCommand();//如果选择开始,则创建线程对象if(command.equals("开始")&&list.size()==0){creatBall(20,1);}//如果选择退出按钮,则退出程序if(command.equals("退出")){System.exit(0);}//如果选择简单按钮if(command.equals("简单")&&list.size()==0){creatBall(20,1);}//如果选择中等按钮if(command.equals("中等")&&list.size()==0){creatBall(50,2);}if(command.equals("困难")&&list.size()==0){creatBall(40,2);}if(command.equals("游戏说明")){JOptionPane.showMessageDialog(null,"移动鼠标,用挡板接球,如果接不住,就算输了……\n游戏可以选择难度,包括简单、中等、困难");}if(command.equals("关于")){JOptionPane.showMessageDialog(null,"这是一个用Java编写的小游戏……\n制作人:沈冠军\n时间:2010年8月\n版权所有,翻版必究!");}}};//添加动作监听器star_item.addActionListener(listener);exit_item.addActionListener(listener);easy_item.addActionListener(listener);middle_item.addActionListener(listener);hard_item.addActionListener(listener);help_item.addActionListener(listener);about_item.addActionListener(listener);//将菜单选项对象添加到菜单对象上menu_menu.add(star_item);menu_menu.add(exit_item);help_menu.add(help_item);help_menu.add(about_item);//将菜单对象添加到菜单条上bar.add(menu_menu);bar.add(difficulty_menu);bar.add(help_menu);//返回菜单条对象returnbar;}/***创建线程对象的方法**@paramspeed*:速度**/publicvoidcreatBall(intspeed,intnum){Randomran=newRandom();if(ml==null){g=UI.getGraphics();ml=newListener(g);UI.addMouseListener(ml);UI.addMouseMotionListener(ml);}for(inti=0;i<num;i++){intx=ran.nextInt(600)+10;inty=ran.nextInt(300)+100;MyThreadth=newMyThread(g,ml,UI,x,y,speed);list.add(th);h.start()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《2024年 基于活性碘的功能高分子复合材料的设计合成及其抗菌应用研究》范文
- 《2024年 天然电气石基铁酸盐非均相催化剂制备及催化降解有机污染物研究》范文
- 出版业数字化转型与内容创新策略方案
- 农产品电子商务平台优化升级策略
- 人教版八年级历史下册教学设计-【第19课 社会生活的变迁 教案】
- 第一单元长度单位(单元测试)-2024-2025学年二年级上册数学人教版
- 仪器分析智慧树知到答案2024年齐鲁工业大学
- 2024年亚太地区移动经济报告(英)-52正式版
- Unit 1 Lesson 2 课件三年级英语冀教版
- 果木嫁接技术
- 2024时事政治试题库(附含答案)
- 二十届三中全知识点
- 幼儿园教师教学方法培训
- 田径大单元教学计划
- 真菌性鼻窦炎(精选PPT干货)
- 第九套广播体操文字图片说明.
- 100以内纯进位、退位加减法
- 《异常管理理论》PPT课件
- 浅谈变电站直流系统接地故障及处理论文
- 五年级话说温州教案
- 十字相乘法完整版ppt课件
评论
0/150
提交评论