Java基于swing实现的弹球游戏代码_第1页
Java基于swing实现的弹球游戏代码_第2页
Java基于swing实现的弹球游戏代码_第3页
Java基于swing实现的弹球游戏代码_第4页
Java基于swing实现的弹球游戏代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论