java之雪花飘落效果的实现(撩妹小程序)

本人从事java行业十余年, java实现雪花飘落的效果,跟大家一起学习分享,希望可以帮到你们。

更多java学习资料视频课程地址:https://ke.qq.com/course/149432?tuin=57912c43

有技术问题或者想学习交流的加我个人微信renlliang2013。

  1. 第一章:程序的思路分析
    1. 1.思路分析

程序采用面向对象的思想,包含主程序,面板类和雪花类。

主程序用来生成窗口,存放面板等作用。

面板类用来存放背景图片,存放生成的雪花对象,定时去刷新雪花的位置,形成雪花飘落的效果。

雪花类用来生成雪花对象,提供雪花移动的方法。

  1. 第二章:程序的代码实现
    1. 1. 准备工作

打开idea开发工具,把bg.png、bg2.png、bg3.png和snow.png图片拷贝到src目录下。

创建cn.tx.utils和cn.tx.domain的包结构。

把FrameUtils.java拷贝到utils包中。

把XueHua.java和MyJpanel.java拷贝到domain包中。

创建cn.tx.main包,创建MyFrame类,开始编写程序。

  1. 2. 代码实现

编写主程序,主要是生成窗口、面板和设置背景图片。

package cn.tx.main;
​
import cn.tx.domain.MyJpanel;
import cn.tx.utils.FrameUtils;
​
import javax.swing.*;
​
/**
 * 作者:樱木老师
 */
public class Demo1 {
    
    public static void main(String[] args) {
        // 创建窗口对象
        JFrame frame = new JFrame("我超喜欢你的");
        // 初始化大小和显示位置
        FrameUtils.init(frame,1000,700);
        // 创建面板对象
        MyJpanel jpanel = new MyJpanel(frame);
        // 切换背景图片
        String [] bgs = {"bg.png","bg2.png","bg3.png"};
        // 设置背景图片
        jpanel.changebg(jpanel,bgs);
        // 添加
        frame.add(jpanel);
        // 启动线程,执行动画效果
        new Thread(jpanel).start();
        // 开启新的线程,播放背景音乐
        new Thread(new MyMusic()).start();
        // 显示
        frame.setVisible(true);
    }
​
}

 

  1. 3. 可以添加背景音乐

把xxx.mp3的背景音乐拷贝到src目录下

在项目中导入jl1.0.jar(播放音乐需要使用的jar包)

把MusicUtils.java工具类拷贝到cn.tx.utils包中

编写播放音乐的类(也是使用线程的方式)

package cn.tx.main;
​
import cn.tx.utils.MusicUtils;
​
/**
 * 作者:樱木老师
 */
public class MyMusic implements Runnable {
    
    @Override
    public void run() {
        // 播放音乐
        MusicUtils.play(MyMusic.class.getResourceAsStream("/qt.mp3"));
    }
​
}

 修改主函数,启动线程,加入播放背景音乐的代码

 

package cn.tx.main;
​
import cn.tx.domain.MyJpanel;
import cn.tx.utils.FrameUtils;
​
import javax.swing.*;
​
/**
 * 作者:樱木老师
 */
public class Demo1 {
​
    public static void main(String[] args) {
        // 创建窗口对象
        JFrame frame = new JFrame("撩妹");
        // 初始化大小和显示位置
        FrameUtils.init(frame,1000,700);
        // 创建面板对象
        MyJpanel jpanel = new MyJpanel(frame);
        // 添加
        frame.add(jpanel);
        // 启动线程,执行动画效果
        new Thread(jpanel).start();
        // 开启新的线程,播放背景音乐
        new Thread(new MyMusic()).start();
        // 显示
        frame.setVisible(true);
    }
​
}

 

更多java学习资料视频课程地址:https://ke.qq.com/course/149432?tuin=57912c43

有技术问题或者面试方面想学习交流的加我个人微信renlliang2013