java实现弹球游戏_Java swing版弹球游戏源代码下载
package 弹球;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import javax.swing.JOptionPane;
/**
* 游戏界面类
*
* @author Administrator
*
*/
public class GameUI extends javax.swing.JFrame {
private static GameUI UI;
private java.awt.Graphics g;
private MyListener ml;
public javax.swing.JLabel text_field;
public javax.swing.JProgressBar pBar;
private String command;
public java.util.ArrayList list = new java.util.ArrayList();
private javax.swing.JToggleButton button;
public static void main(String args[]) {
UI = new GameUI();
UI.initUI();
}
/**
* 初始化窗体的方法
*/
public void initUI() {
// 设置标题
this.setTitle("是高手就坚持100s");
// 设置大小
this.setSize(610, 635);
// 设置关闭是退出程序
this.setDefaultCloseOperation(3);
// 设置打开窗体时在屏幕中间显示
this.setLocationRelativeTo(null);
// 设置窗体的流式布局管理器
this.setLayout(new java.awt.FlowLayout());
// 设置窗体背景颜色
this.getContentPane().setBackground(java.awt.Color.black);
// 创建文本标签对象
text_field = new javax.swing.JLabel();
javax.swing.JLabel lable = new javax.swing.JLabel("时 间 :");
// 设置文本标签前景颜色
lable.setForeground(java.awt.Color.red);
text_field.setForeground(java.awt.Color.red);
// 创建进度条对象
pBar = new javax.swing.JProgressBar(0, 330);
// 创建按钮对象
button = new javax.swing.JToggleButton();
button.setMargin(new Insets(0, 0, 0, 0));
button.setIcon(new javax.swing.ImageIcon("images/Pause.gif"));
button.setActionCommand("暂停");
// 通过匿名内部类来创建动作监听器
java.awt.event.ActionListener button_listener = new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
String com = e.getActionCommand();
if (com.equals("暂停")) {
button.setMargin(new Insets(0, 0, 0, 0));
button
.setIcon(new javax.swing.ImageIcon(
"images/start.gif"));
button.setActionCommand("继续");
for (int i = 0; i < list.size(); i++) {
list.get(i).PauseThread();
}
}
if (com.equals("继续")) {
button.setMargin(new Insets(0, 0, 0, 0));
button
.setIcon(new javax.swing.ImageIcon(
"images/Pause.gif"));
button.setActionCommand("暂停");
for (int i = 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);
// 的到菜单条
javax.swing.JMenuBar bar = creatMenuBar();
// 为窗体设置菜单条
this.setJMenuBar(bar);
// 设置窗体的可见性
this.setVisible(true);
}
/**
* 创建菜单条的方法
*
* @return
*/
public javax.swing.JMenuBar creatMenuBar() {
// 创建菜单条对象
javax.swing.JMenuBar bar = new javax.swing.JMenuBar();
// 创建菜单对象
javax.swing.JMenu menu_menu = new javax.swing.JMenu("菜单");
javax.swing.JMenu difficulty_menu = new javax.swing.JMenu("难度");
javax.swing.JMenu help_menu = new javax.swing.JMenu("帮助");
// 创建菜单选项对象
javax.swing.JMenuItem star_item = new javax.swing.JMenuItem("开始");
javax.swing.JMenuItem exit_item = new javax.swing.JMenuItem("退出");
javax.swing.JMenuItem help_item = new javax.swing.JMenuItem("游戏说明");
javax.swing.JMenuItem about_item = new javax.swing.JMenuItem("关于");
// 创建单选选项
javax.swing.JRadioButtonMenuItem easy_item = new javax.swing.JRadioButtonMenuItem(
"简单");
javax.swing.JRadioButtonMenuItem middle_item = new javax.swing.JRadioButtonMenuItem(
"中等");
javax.swing.JRadioButtonMenuItem hard_item = new javax.swing.JRadioButtonMenuItem(
"困难");
// 创建一个按钮组
javax.swing.ButtonGroup group = new javax.swing.ButtonGroup();
// 将单选按钮添加到按钮组中
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);
// 通过匿名内部类来创建动作监听器
ActionListener listener = new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
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("游戏说明")) {
javax.swing.JOptionPane.showMessageDialog(null,
"移动鼠标,用挡板接球,如果接不住,就算输了……\n游戏可以选择难度,包括简单、中等、困难");
}
if (command.equals("关于")) {
javax.swing.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);
// 返回菜单条对象
return bar;
}
/**
* 创建线程对象的方法
*
* @param speed
* :速度
*
*/
public void creatBall(int speed, int num) {
java.util.Random ran = new java.util.Random();
if (ml == null) {
g = UI.getGraphics();
ml = new MyListener(g);
UI.addMouseListener(ml);
UI.addMouseMotionListener(ml);
}
for (int i = 0; i < num; i++) {
int x = ran.nextInt(600) + 10;
int y = ran.nextInt(300) + 100;
MyThread th = new MyThread(g, ml, UI, x, y, speed);
list.add(th);
th.start();
}
}
/**
* 得到命令的方法
*/
public String getCommand() {
return command;
}
}
java实现弹球游戏_Java swing版弹球游戏源代码下载相关推荐
- java大作业的打猎游戏_Java Swing打猎射击游戏源码
Java Swing打猎射击游戏源码 代码如下package Game;import java.awt.Graphics;import java.awt.Image;import javax.swin ...
- java射击游戏_Java Swing打猎射击游戏源码
代码如下 package Game; import java.awt.Graphics; import java.awt.Image; import javax.swing.JPanel; publi ...
- java做飞机大战_Java+swing版飞机大战
Java小游戏实训--飞机大战 一.实验目的 使用Java+swing实现飞机大战小游戏 二.实验要求 1.掌握Java的基本语法. 2.掌握面向对象的编程思想. 3.掌握利用swing布局游戏界面的 ...
- java开源游戏下载安装_开源java扫雷游戏,Swing版。
开源java扫雷游戏,Swing版. xC6JnAIE.zip (60.07 KB) 开源java扫雷游戏,Swing版. 程序文件说明 文件 内容 备注 AboutFrame.java 程序&quo ...
- unity3d游戏2d横版射击游戏完整项目源码分享
unity3d游戏2d横版射击游戏完整项目源码分享 免费下载地址: 链接:https://pan.baidu.com/s/1YwhEy7DeKIHFU8pBLdJFPg 提取码:3wnx 复制这段内容 ...
- JAVA 实现《泡泡堂基础版》游戏
前言 <泡泡堂基础版>是一个基于java的自制游戏,游戏设计为双人pk积分赛模式,在这个模式里面,玩家只要率先达到一定分数既可以赢得比赛.玩家可以通过炸箱子可以得到少量的分数,也可以通过炸 ...
- 用java雷电游戏_Java实现仿雷电游戏
[实例简介]Java实现仿雷电游戏 [实例截图] [核心代码] package cqu; import java.awt.BorderLayout; import javax.swing.JFrame ...
- java做五子棋 视频_java swing实现五子棋小游戏项目源码附带视频指导运行教程...
<p> <span style="color:#555555;font-family:"font-size:16px;background-color:#FFFF ...
- java 横版游戏开发_用MyEclipse的Java Project开发仿DNF横版格斗游戏
这些天,我正在用MyEclipse的Java Project开发一款仿DNF 横版格斗游戏. http://v.youku.com/v_show/id_XMTI5MTE0NDg4MA==.html 这 ...
最新文章
- python从入门到精通书-Python从入门到精通
- shutil python_shutil模块
- aws技术峰会2018_AWS re:Invent 2018的5大公告
- jQuery选择器种类整理
- java浮点数数转二进制的数吗_深入理解计算机系统(2.7)-二进制小数和IEEE浮点标准 - Java 技术驿站-Java 技术驿站...
- sqli-lab——Writeup21~38(各种过滤绕过WAF和)
- 基于信息流的安全格模型
- CentOS6.5安装nginx1.5.8时出现“cp: conf/koi-win 与/usr/local/nginx/conf/koi-win 为同一文件”的解决方法...
- 从Spark-Shell到SparkContext的函数调用路径过程分析(源码)
- axios_的请求响应结果的结构---axios工作笔记006
- 这个 SpringCloud+Vue 在线教育系统,牛得起飞!
- CentOS7安装dnf报错:No package dnf available
- 51单片机存储器结构
- RCWL-0516微波雷达感应开关 人体感应传感器,迷你多普勒雷达
- java开发工具eclipse中@author怎么改
- 黑马程序员_IO输入输出流
- 人工智能的“斯芬克斯之谜”
- linux绝育玩客云_绝育老母鸡(玩客云)PT下载补充。如何过新手考核
- Docker 容器健康检查机制
- adam算法效果差原因_深度学习优化器-Adam两宗罪
热门文章
- 多普勒流量计测流系统
- ios Objective-c 地图选择城市
- 编译内核启用KASan动态检测内核内存错误功能(ubuntu16.04 4.4.0内核编译升级到linux-4.4.252版本)
- PKG_PROG_PKG_CONFIG: command not found
- php 正则表达式 菜鸟,正则表达式菜鸟教程.pdf
- Modbus通讯协议简介
- 深度学习-图像处理之误差传播、权重更新及优化器
- DWCC2018基本网页设计注意要点、使用技巧
- ios生命周期 uiviewController的生命周期(3)
- 学会扒源码-HashMap