?
-
第一章:程序的思路分析
- 1.思路分析
程序采用面向?qū)ο蟮乃枷?amp;#xff0c;包含主程序,面板類和雪花類。愛掏網(wǎng) - it200.com
主程序用來(lái)生成窗口,存放面板等作用。愛掏網(wǎng) - it200.com
面板類用來(lái)存放背景圖片,存放生成的雪花對(duì)象,定時(shí)去刷新雪花的位置,形成雪花飄落的效果。愛掏網(wǎng) - it200.com
雪花類用來(lái)生成雪花對(duì)象,提供雪花移動(dòng)的方法。愛掏網(wǎng) - it200.com
-
第二章:程序的代碼實(shí)現(xiàn)
- 1. 準(zhǔn)備工作
打開idea開發(fā)工具,把bg.png、bg2.png、bg3.png和snow.png圖片拷貝到src目錄下。愛掏網(wǎng) - it200.com
創(chuàng)建cn.tx.utils和cn.tx.domain的包結(jié)構(gòu)。愛掏網(wǎng) - it200.com
把FrameUtils.java拷貝到utils包中。愛掏網(wǎng) - it200.com
把XueHua.java和MyJpanel.java拷貝到domain包中。愛掏網(wǎng) - it200.com
創(chuàng)建cn.tx.main包,創(chuàng)建MyFrame類,開始編寫程序。愛掏網(wǎng) - it200.com
- 2. 代碼實(shí)現(xiàn)
編寫主程序,主要是生成窗口、面板和設(shè)置背景圖片。愛掏網(wǎng) - it200.com
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) {// 創(chuàng)建窗口對(duì)象JFrame frame = new JFrame("我超喜歡你的");// 初始化大小和顯示位置FrameUtils.init(frame,1000,700);// 創(chuàng)建面板對(duì)象MyJpanel jpanel = new MyJpanel(frame);// 切換背景圖片String [] bgs = {"bg.png","bg2.png","bg3.png"};// 設(shè)置背景圖片jpanel.changebg(jpanel,bgs);// 添加frame.add(jpanel);// 啟動(dòng)線程,執(zhí)行動(dòng)畫效果new Thread(jpanel).start();// 開啟新的線程,播放背景音樂new Thread(new MyMusic()).start();// 顯示frame.setVisible(true);}
?
}
?
- 3. 可以添加背景音樂
把xxx.mp3的背景音樂拷貝到src目錄下
在項(xiàng)目中導(dǎo)入jl1.0.jar(播放音樂需要使用的jar包)
把MusicUtils.java工具類拷貝到cn.tx.utils包中
編寫播放音樂的類(也是使用線程的方式)
package cn.tx.main;
?
import cn.tx.utils.MusicUtils;
?
/*** 作者:櫻木老師*/
public class MyMusic implements Runnable {@Overridepublic void run() {// 播放音樂MusicUtils.play(MyMusic.class.getResourceAsStream("/qt.mp3"));}
?
}
?修改主函數(shù),啟動(dòng)線程,加入播放背景音樂的代碼
?
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) {// 創(chuàng)建窗口對(duì)象JFrame frame = new JFrame("撩妹");// 初始化大小和顯示位置FrameUtils.init(frame,1000,700);// 創(chuàng)建面板對(duì)象MyJpanel jpanel = new MyJpanel(frame);// 添加frame.add(jpanel);// 啟動(dòng)線程,執(zhí)行動(dòng)畫效果new Thread(jpanel).start();// 開啟新的線程,播放背景音樂new Thread(new MyMusic()).start();// 顯示frame.setVisible(true);}
?
}
?
根據(jù)本人多年從業(yè)以及學(xué)習(xí)經(jīng)驗(yàn),錄制了一套最新的Java精講視頻教程,如果你現(xiàn)在也在學(xué)習(xí)Java,在入門學(xué)習(xí)Java的過程當(dāng)中缺乏系統(tǒng)的學(xué)習(xí)教程,你可以加群654631948領(lǐng)取下學(xué)習(xí)資料,面試題,開發(fā)工具等,群里有資深java老師做答疑,每天也會(huì)有基礎(chǔ)部分及架構(gòu)的直播課,也可以加我的微信renlliang2024做深入溝通,只要是真心想學(xué)習(xí)Java的人都?xì)g迎。愛掏網(wǎng) - it200.com
?
java基礎(chǔ)教程:https://ke.qq.com/course/149432?tuin=57912c43
Java分布式互聯(lián)網(wǎng)架構(gòu)/微服務(wù)/高性能/springboot/springcloud:
https://ke.qq.com/course/179440?tuin=57912c43