打地鼠游戏
来源:互联网 发布:网络只有几kb 编辑:程序博客网 时间:2024/04/27 19:43
打地鼠游戏简单的说就是一个鼠标事件,核心方法就是监听用户单机鼠标事件。
在eclipse中创建Jframe窗体,名为Shrewmouse,在窗体中增加七个标签,一个用来显示游戏背景图片,其余六个显示地鼠图片。监听标签上鼠标单击事件,如果该标签上有图标,则将其删除。代码如下。
图片
package com.lw;import java.awt.EventQueue;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;public class Shrewmouse extends JFrame implements Runnable { /** * */ private static final long serialVersionUID = 8752899717443325480L; private JLabel[] mouses; // 存放显示地鼠的标签数组 private ImageIcon imgMouse; // 地鼠图片对象 /** * Launch the application * * @param args */ public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { try { Shrewmouse frame = new Shrewmouse(); frame.setVisible(true); new Thread(frame).start(); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame */ public Shrewmouse() { super(); setResizable(false); // 禁止调整窗体大小 getContentPane().setLayout(null); // 窗体不使用布局管理器 setTitle("简易打地鼠游戏"); // 设置窗体标题 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 初始化背景图片对象 ImageIcon img = new ImageIcon(getClass().getResource("background.jpg")); // 初始化地鼠图片对象 imgMouse = new ImageIcon(getClass().getResource("mouse.png")); mouses = new JLabel[6]; // 创建显示地鼠的标签数组 for (int i = 0; i < 6; i++) { // 遍历数组 mouses[i] = new JLabel(); // 初始化每一个数组元素 // 设置标签与地鼠图片相同大小 mouses[i].setSize(imgMouse.getIconWidth(), imgMouse.getIconHeight()); mouses[i].addMouseListener(new MouseAdapter() { // 为标签添加鼠标事件监听适配器 /** * 处理鼠标单击事件的方法 */ @Override public void mouseClicked(MouseEvent e) { Object source = e.getSource(); // 获取事件源,即地鼠标签 if (source instanceof JLabel) { // 如果事件源是标签组件 JLabel mouse = (JLabel) source; // 强制转换为JLabel标签 mouse.setIcon(null); // 取消标签图标 } } }); getContentPane().add(mouses[i]); // 添加显示地鼠的标签到窗体 } mouses[0].setLocation(253, 300); // 设置每个标签的位置 mouses[1].setLocation(333, 250); mouses[2].setLocation(388, 296); mouses[3].setLocation(362, 364); mouses[4].setLocation(189, 353); mouses[5].setLocation(240, 409); final JLabel backLabel = new JLabel(); // 创建显示背景的标签 // 设置标签与背景图片相同大小 backLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight()); // 设置窗体近似背景图片大小 setBounds(100, 100, img.getIconWidth(), img.getIconHeight() + 30); backLabel.setIcon(img); // 添加背景到标签 getContentPane().add(backLabel); // 添加背景标签到窗体 } /** * 线程的核心方法 */ public void run() { while (true) { // 使用无限循环 try { Thread.sleep(1000); // 使线程休眠1秒 int index = (int) (Math.random() * 6); // 生成随机的地鼠索引 if (mouses[index].getIcon() == null) // 如果地鼠标签没有设置图片 mouses[index].setIcon(imgMouse); // 为该标签添加地鼠图片 } catch (InterruptedException e) { e.printStackTrace(); } } }}
0 0
- 模拟打地鼠游戏
- cocos2D 打地鼠游戏
- java打地鼠游戏
- 打地鼠游戏实现
- 简易打地鼠游戏
- 打地鼠游戏
- 打地鼠游戏
- 打地鼠游戏
- H5 打地鼠游戏
- 打地鼠游戏收获
- 打地鼠游戏(java)
- 星星打地鼠游戏
- java打地鼠游戏
- 打地鼠游戏最终版
- 打地鼠游戏js
- 打地鼠游戏案例
- Java打地鼠游戏
- 打地鼠游戏核心算法
- UILabel大小问题
- Android静默安装实现方案,秒装(测试没有通过)和智能安装(实现)功能
- 数据库-Oracle主键约束和唯一索引的黑与白
- 汉罗塔问题递归实现
- mysql远程链接失败
- 打地鼠游戏
- viewpager详解
- 学习jquery的 datatable
- SQL数据库中的增删改查
- 怎么将pdf转换成excel格式
- 《麻省理工公开课:线性代数》Lecture 1~3 笔记
- SQL Server和Oracle数据库索引介绍
- okhttpUtils 框架的理解
- 打印内存的c语言实现