java超级小白,大佬勿喷
本文章适用于java小小白
一、制作准备
jdk1.8、IntelliJ IDEA 、java运行环境、以及创作所需要的jar包(百度网盘 请输入提取码)提取码:1123;
废话不多说,上干货
二、模块制作
1、准备好你的idea
2、创建一个新项目
3、随便取一个项目名
4、在src目录下创建一个包,再在包下面创建java class类
5、idea中src涉及的全部类
附代码
Barrage的代码,34-41行引号中可写出想对ta说的话
package HeartRain;
import java.awt.*;
import java.util.Random;
public class Barrage extends Frame
{
public void mbarrage()throws InterruptedException
{
Random rnumber=new Random();
int Ycoordinates=rnumber.nextInt(1080);
int speed=rnumber.nextInt(10);
this.setSize(800,200);
this.setLocation(0,-400);
this.setAlwaysOnTop(true);
this.setUndecorated(true);
Color color =new Color(0,0,0,0);
this.setBackground(color);
this.setVisible(true);
int Xcoordinates=-800;
while (true){
this.setLocation(Xcoordinates,Ycoordinates);
Xcoordinates = Xcoordinates - speed;
Thread.sleep(10);
if (Xcoordinates<-400){
Xcoordinates=1920;
}
}
}
@Override
public void paint(Graphics g) {
String[] discourse = new String[8];
discourse[0] = "0";
discourse[1] = "1";
discourse[2] = "2";
discourse[3] = "3";
discourse[4] = "4";
discourse[5] = "5";
discourse[6] = "6";
discourse[7] = "7";
Random suiji=new Random();
int i=suiji.nextInt(8);
Font sz =new Font(Font.DIALOG,Font.BOLD,50);
g.setFont(sz);
Color color=new Color(255, 55, 80,255);
g.setColor(color);
g.drawString(discourse[i],50,50);
}
}
BarragThread的代码
package HeartRain;
public class BarrageThread extends Thread {
@Override
public void run() {
Barrage barrage=new Barrage();
try {
barrage.mbarrage();
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
Heart的代码,46-53行可添加照片,由于要进行jar包的操作所以这里我选择了用反射的操作进行地址的选择(格式如photo[7]所示)
package HeartRain;
import image.Photo;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.Random;
public class Heart extends Frame
{
public void mheart() throws InterruptedException
{
Random rnumber=new Random();
int Xcoordinates=rnumber.nextInt(1920);
int speed=rnumber.nextInt(10);
this.setSize(200,200);
this.setLocation(-400,-400);
this.setAlwaysOnTop(true);
this.setUndecorated(true);
Color color =new Color(0,0,0,0);
this.setBackground(color);
this.setVisible(true);
int Ycoordinates=-200;
while (true)
{
this.setLocation(Xcoordinates,Ycoordinates);
Ycoordinates = Ycoordinates + speed;
Thread.sleep(10);
if (Ycoordinates > 1080)
{
Ycoordinates = -200;
}
}
}
@Override
public void paint(Graphics g)
{
try {
String[] photo = new String[8];
photo[0] = "0";
photo[1] = "1";
photo[2] = "2";
photo[3] = "3";
photo[4] = "4";
photo[5] = "5";
photo[6] = "6";
photo[7] = "mmexport1639900654117.jpg";
Random suiji=new Random();
int i=suiji.nextInt(8);
Random rnumber = new Random();
int size = rnumber.nextInt(200);
InputStream resourceAsStream = Photo.class.getResourceAsStream(photo[i]);
BufferedImage pt =ImageIO.read(resourceAsStream);
g.drawImage(pt, 0, 0, size, size, null);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
HeartThread的代码
package HeartRain;
public class HeartThread extends Thread
{
@Override
public void run() {
Heart Lheart=new Heart();
try {
Lheart.mheart();
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
MusicThread的代码我用与 Heart相同的方法
package HeartRain;
import com.leilei.MusicPlayer;
import javazoom.jl.player.Player;
import music.mus;
import java.io.FileInputStream;
import java.io.InputStream;
public class MusicThread extends Thread{
@Override
public void run(){
try {
InputStream resourceAsStream = mus.class.getResourceAsStream("CMJ - 告白之夜(纯音乐).mp3");
Player player = new Player(resourceAsStream);
player.play();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
最后是Test代码
package HeartRain;
import java.io.FileNotFoundException;
public class Test {
public static void main(String[] args) throws InterruptedException , FileNotFoundException {
MusicThread music =new MusicThread();
music.start();
for (int i=0;i<50;i++)
{ BarrageThread barrage=new BarrageThread();
barrage.start();}
for (int i=0;i<50;i++){
HeartThread thread=new HeartThread();
thread.start();
}
}
}
图片与音乐就如图所示这样创建就行(注意与图片/音乐的同级下要创建一个类)
好啦我们的准备工作完成了
现在运行
部分效果如图所示照片从上往下循环随机以不同的速度下落,弹幕从左往有也是循环随机以不同的速度移动
三、Jar包以及将jar包转换成exe文件可参考((35条消息) 教你如何idea的Java项目打包成exe文件_写代码赚钱买包包的博客-CSDN博客_idea打包exe)
这样我们一个简单的小玩具就做成啦!!!!