JAVA流星雨
来源:互联网 发布:迅雷9优化版 编辑:程序博客网 时间:2024/04/28 07:02
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Point;import java.awt.Toolkit;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.image.BufferedImage;import java.security.Key;import java.util.Random;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JPanel;public class Rain4 { public static void main(String[] args) { JFrame frame = new JFrame(); //实例化窗体对象frame Pool pool = new Pool(); //容器 frame.setUndecorated(true); //启用装饰 frame.add(pool); //添加容器到对象 frame.setVisible(true); //显示窗口 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序 frame.setSize(1920, 1080); //宽,高 frame.setResizable(false); //不可改变窗口大小 frame.setBackground(Color.black); //背景黑色 frame.setLocationRelativeTo(null); //居中 frame.setOpacity(1.0f); // 设置窗体透明度 frame.setCursor(Toolkit.getDefaultToolkit().createCustomCursor(new ImageIcon("/images/back.png").getImage(), //鼠标样式 new Point(10, 20), "stick")); frame.addKeyListener(new KeyListener() {//键盘监听 public void keyPressed(KeyEvent e) {//键盘事件 if (e.getKeyCode() == KeyEvent.VK_ESCAPE || e.getKeyCode() == KeyEvent.VK_SPACE) { //ESC或空格见退出 System.exit(0); } } public void keyTyped(KeyEvent e) { } public void keyReleased(KeyEvent e) { } }); pool.action(); }}@SuppressWarnings("serial")class Pool extends JPanel { Random r = new Random(); Rain[] str; public Pool() { str = new Rain[200]; for (int i = 0; i < str.length; i++) { str[i] = new Rain(); } } public void paint(Graphics g) { ImageIcon back = new ImageIcon("images/back.jpg");// 背景图 g.drawImage(back.getImage(), 0, 0, getWidth(), getHeight(), null); // BufferedImage image = new BufferedImage(1920, 1080, // BufferedImage.TYPE_INT_RGB); // g.drawImage(image, 0, 0, null); for (int i = 0; i < str.length; i++) { Font f = new Font("微软雅黑", Font.PLAIN, 2); g.setFont(f); g.setColor(str[i].color); g.drawLine(str[i].x, str[i].y, str[i].x, str[i].y - r.nextInt(50)); } } public void action() { for (int i = 0; i < str.length; i++) { str[i].start(); } while (true) { repaint(); try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } }}class Rain extends Thread { Random r = new Random(); int x, y, e, g, b, step; Color color; public Rain() { y = r.nextInt(1000); x = r.nextInt(1920); step =100;// 防止移动距离为零 } public void move() { step-=1; if(step<2){ step +=200; } if (r.nextInt(5) <2) { y += step; if (y >= 1080) { color = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)); y = 0; x = r.nextInt(1920); } } else { if (x > 1920) { color = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)); x = 0; } } } public void run() { while (true) { move(); try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } }}
阅读全文
0 0
- JAVA流星雨
- 流星雨
- 流星雨
- 流星雨
- 流星雨?今天?
- 双子座流星雨
- 天龙座流星雨
- 【搜索】流星雨
- 流星雨脚本
- 狮子座流星雨
- poj3669 流星雨
- 2007狮子座流星雨最新消息
- 《一起来看流星雨》剧情简介
- 一起来看流星雨-------郑爽
- 一起来看流星雨--------俞灏明
- 一起来看流星雨--------魏晨
- 一起来看流星雨
- 流星雨 meteor shower
- 大作业1(画线)
- Linux后台执行程序
- matlab小知识点
- Java设计模式之结构型七大模式
- 数据库注入攻击和防止注入攻击
- JAVA流星雨
- c语言实现静态顺序表
- C# Enum,Int,String的互相转换
- 程序猿种群观察手记
- TZC 3012-Fibnacci Numbers(矩阵快速幂+降幂公式)
- [leetcode]208. Implement Trie (Prefix Tree)
- HDU
- B
- 搬砖难题