标签+线程休眠 = 打地鼠
来源:互联网 发布:iphone视频录制软件 编辑:程序博客网 时间:2024/05/22 15:28
再一次通过实践抓牢知识:原来标签还可以设置图片,从而作为“背景图片”,标签加上鼠标监听器可以轻松地实现被点击标签的消失,呵呵,标签君原来你这么的可爱!!
package homework;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.util.Random;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;public class daDiShu extends JFrame implements Runnable,MouseListener{ImageIcon backIcon = new ImageIcon(getClass().getResource("background.jpg")); //背景图片ImageIcon shrewiIcon = new ImageIcon(getClass().getResource("mouse.png")); //地鼠图片private JLabel[] shrew = new JLabel[7]; //地鼠标签//shrew = new JLabel[7];public daDiShu() {// TODO Auto-generated constructor stubsetSize(backIcon.getIconWidth(), backIcon.getIconHeight()); //设置JFrame的宽度和高度setLayout(null);for(int i = 0; i < 6; i ++){shrew[i] = new JLabel();shrew[i].setSize(shrewiIcon.getIconWidth(), shrewiIcon.getIconHeight());shrew[i].addMouseListener(this //为地鼠标签加上监听器//new MouseAdapter() {//另外形式的监听器// // @Override //public void mouseClicked(MouseEvent e){// // Object t = e.getSource();// if(t instanceof JLabel){// JLabel t1 = (JLabel) t;// t1.setIcon(null);// }// }//});getContentPane().add(shrew[i]);}shrew[0].setLocation(253, 300); shrew[1].setLocation(333, 250); shrew[2].setLocation(388, 296); shrew[3].setLocation(362, 364); shrew[4].setLocation(189, 353); shrew[5].setLocation(240, 409); JLabel back = new JLabel(); //设置背景标签back.setSize(backIcon.getIconWidth(), backIcon.getIconHeight());back.setIcon(backIcon);getContentPane().add(back);}public void run(){while(true){try{Thread.sleep(1000); //线程休眠int ran = (int)(Math.random()*6); //随机决定那只地鼠出现if(shrew[ran].getIcon() == null){shrew[ran].setIcon(shrewiIcon); }}catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}} public static void main(String[] args){ daDiShu a = new daDiShu(); a.setTitle("打地鼠"); a.setVisible(true); a.setDefaultCloseOperation(EXIT_ON_CLOSE); new Thread(a).start(); }@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubObject t = e.getSource(); if(t instanceof JLabel){ JLabel t1 = (JLabel) t; t1.setIcon(null); }}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}}
1 0
- 标签+线程休眠 = 打地鼠
- 打地鼠
- 打地鼠
- 打地鼠
- 打地鼠
- 打地鼠
- 打地鼠
- 模拟打地鼠游戏
- cocos2D 打地鼠游戏
- 打地鼠小结
- Unity3D打地鼠
- 【SDOI 2011】打地鼠
- Libgdx打地鼠一
- 【SDOI2011】打地鼠
- bzoj2241: [SDOI2011]打地鼠
- 简易打地鼠
- bzoj2241【sdoi2011】打地鼠
- BZOJ1207【HNOI2004】打地鼠
- Java读取properties文件的思考(static块中读取)
- Java 并发编程(三)为线程安全类中添加新的原子操作
- Android取消EditText自动获取焦点默认行为
- 慎用shrinkResources
- jQuery EasyUI中window/dialog 窗口折叠和展开方法(显示)
- 标签+线程休眠 = 打地鼠
- #./configure --prefix
- IOS Android Tomcat SSL双向认证HTTPS访问
- java switch语句
- 线性链表和单循环链表
- 斯坦福大学Andrew Ng 《机器学习》
- 2015 iOS推送流程详解,适合新手观看
- C程序设计(第四版)——互动出版网
- 聚类算法-DBScan资料整理