Java和vue实现音乐播放器_躁!DJ 风格 Java 桌面音乐播放器

本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 版桌面 DJ 音乐播放器。

6ed2ea15db73f0005aa2c163a5fa9655.png

本文作者:HelloGitHub-秦人

HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款开源 Java 版桌面 DJ 音乐播放器项目——XR3Player,它强大的功能和炫酷的展示效果,你肯定会喜欢上它的!

一、项目介绍

OpenJFX 是一个开源的下一代客户端应用程序平台,适用于基于 Java 构建的桌面、移动和嵌入式系统。

本篇我们就重点讲一下一款 Java 版桌面 DJ 音乐播放器,先看运行效果吧!

c41147abc6abb3ea66f4846223afdced.gif

也可以直接下载音乐播放器安装包:下载地址,更多 Java 桌面程序可以从这里获取:openjfx.io

二、运行项目

2.1 前提

安装 JDK11.2 或者更高版本,全称 Java Development Kit,它是 Java 的库函数,是编译、运行 Java 程序的工具包。

安装 Maven3 环境,进行项目构建和项目依赖包管理。

本地安装开发工具 IntelliJ IDEA。

本地安装 GitBash 工具,主要用于下载项目。

2.2 下载项目

下载项目到本地,使用 GitBash 工具,执行如下命令:

git clone https://github.com/goxr3plus/XR3Player.git

将项目导入 Idea,Maven 会自动下载所需的依赖。等待几分钟后项目依赖包都可以下载下来。使用 Idea 自带的 Maven 构建工具,就可以将项目轻松打包。如下图:

6adaec885b45114ccf9a9088b3490db7.png

注意

项目有一个依赖 jxbrowser-win64 可能会下载失败,这个 jar 竟然有 40Mb,建议手动下载后导入项目依赖。jxbrowser-win64 下载地址

2.3 运行项目

创建入口类

打开 Run/Debug Configurations 创建一个 Application ,并选择入口类,如下图:

9b61c86f1089b2bdb639669c9946748c.png

VM options 设置

VM options 添加下面配置参数,然后点击保存即可。

--add-exports

javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix

--add-exports

javafx.controls/com.sun.javafx.scene.control=com.jfoenix

--add-exports

javafx.base/com.sun.javafx.binding=com.jfoenix

--add-exports

javafx.graphics/com.sun.javafx.stage=com.jfoenix

--add-exports

javafx.base/com.sun.javafx.event=com.jfoenix

--add-exports

javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls,

--add-exports

javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls

然后点击 Run Main 或 Debug Main 就可以本地运行项目了。如下图:

nIvuYf.png

三、音乐播放器使用

项目运行起来长这样子,如下图:

65b782ef896031b4150e6d8a69cd1edc.png

1、需要创建一个用户,点击登录就可以进入音乐播放器管理页面。

758dd92298e5229372f2c7e305afba96.png

2、进入音乐播放器,需要创建自己的音乐播放列表,并导入本地音乐。

7b658da83ddc55f8986a87fbbb9e2f95.png

3、导入本地音乐后可选择,选择需要播放的音乐,这里直接拖动你想播放的音乐。

b11d5f5d0378daf0c6fb02ef7d09e2dd.png

4、DJ 版播放器可以同步播放两首歌曲,并可以分别控制音量和播放速度。

c844bf37ce51deec9543573f2e59644d.png

5、音乐播放器内嵌了浏览器,和在线音乐的功能。

6、其他的功能期待你的发掘,如果你也喜欢这款音乐播放器的话。

四、JavaFx 工作原理

JavaFX 的原理是这样的(如下图):舞台(Stage),场景(Scene),容器(Container),布局(Layout)和控件(Controls)之间的关系:

44bdea9d0e8cd4af7f6ecfdde8222572.png

在 JavaFX 中,Stage 是应用程序窗口,其中包含称为 Scene 的空间。Scene 包含界面的组件,如 UI 空间(按钮,输入框,复选框),容器等。

创建 JavaFx 项目

打开 Idea 开发工具,File -> New -> Project... -> Java Fx 创建项目,如下图:

f99928ea25e9af36d4f9ebbd64d048c7.png

Idea 会自动生成代码,这里我做了一些改动,代码如下:

public class Main extends Application {

@Override

public void start(Stage primaryStage) throws Exception{

primaryStage.setTitle("JavaFX 登录");

//创建网格面板

GridPane grid = new GridPane();

grid.setAlignment(Pos.CENTER);

grid.setHgap(10);

grid.setVgap(8);

grid.setPadding(new Insets(20, 20, 20, 20));

//设置背景色

Paint backgroundColor = new Color(0.32,0.6,0.32,1);

grid.setBackground(new Background(new BackgroundFill(backgroundColor,null,null)));

Text sceneTitle = new Text("欢迎进入系统");

sceneTitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));

grid.add(sceneTitle, 0, 0, 2, 1);

//创建用户名标签

Label userName = new Label("用户名:");

grid.add(userName, 0, 1);

//创建用户名输入框

TextField userTextField = new TextField();

grid.add(userTextField, 1, 1);

//创建密码标签

Label pwLabel = new Label("密码:");

grid.add(pwLabel, 0, 2);

//创建密码输入框

PasswordField passwordField = new PasswordField();

grid.add(passwordField, 1, 2);

//创建提交按钮

Button commitBtn = new Button("登录");

HBox hbBtn = new HBox(10);

hbBtn.setAlignment(Pos.BOTTOM_RIGHT);

hbBtn.getChildren().add(commitBtn);

grid.add(hbBtn, 1, 4);

final Text actionTarget = new Text();

grid.add(actionTarget, 1, 6);

commitBtn.setOnAction(new EventHandler() {

@Override

public void handle(ActionEvent e) {

actionTarget.setFill(Color.FIREBRICK);

actionTarget.setText("已发送请求到后台!");

}

});

Scene scene = new Scene(grid, 300, 275);

primaryStage.setScene(scene);

primaryStage.show();

}

public static void main(String[] args) {

launch(args);

}

}

代码运行效果如下图:

7e3feacd5a641219cbe71dd664cfa146.png

了解 Java Swing 的伙伴应该很熟悉,两者的原理很相似。上面代码的意思是:创建一个面板,然后在面板上添加标签,输入框和按钮,并对按钮添加绑定事件,然后把这个面板添加到场景中,这个窗口就完成了。

五、最后

Java 桌面 DJ 音乐播放器是真的香!不知道你对这款音乐播放器有什么感受,欢迎在评论区说说自己的想法。人们都喜欢美的好的事物,而今天的这个项目是通过 Java 代码撸出来的,难道你还不会不喜欢 Java 这门编程语言吗? 有了成品的直观呈现,才能在视觉上产生更强的冲击,可能会更加能激发你的学习动力! 如果通过我的内容分享,能让你对编程产生兴趣,我是真的开心。如果渐渐喜欢上开源项目,平时也喜欢 coding,并且愿意分享你的经验和成果,那就更完美了,编程使我快乐,内容分享让我们认识更多伙伴!

教程至此,你应该也能快速运行 DJ 版音乐播放器了。编程是不是也特别有意思呢?手痒痒了那就赶紧安装这款音乐播放器吧,对源码感兴趣的朋友可以开始学习项目源码了~

六、参考资料

关注公众号加入交流群

作者:削微寒

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron是一个基于Chromium和Node.js的框架,可以帮助开发者使用Web技术(HTML,CSS,JavaScript)来构建跨平台桌面应用程序。VueCli是一个基于Vue.js的命令行工具,可以帮助开发者快速构建Vue.js项目。使用Electron7+VueCli4开发跨平台桌面应用的过程如下: 1. 安装Node.js和npm 在安装Electron和VueCli之前,需要先安装Node.js和npm。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,npm是Node.js的包管理器。安装Node.js和npm可以让你在本地开发环境中运行和管理Electron和VueCli。 2. 安装Electron 在安装Electron之前,需要先创建一个空目录作为项目根目录,然后在命令行中切换到该目录下,执行以下命令: ``` npm init -y npm install electron --save-dev ``` 以上命令会创建一个package.json文件,并将Electron安装到本地项目中。 3. 创建Electron应用 在项目根目录下创建一个名为main.js的文件,这是Electron应用的主进程文件。在main.js中添加以下代码: ```javascript const { app, BrowserWindow } = require('electron') function createWindow () { // 创建浏览器窗口 const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) // 加载index.html文件 win.loadFile('index.html') } app.whenReady().then(() => { createWindow() }) ``` 以上代码创建了一个Electron窗口,并加载了一个名为index.html的文件。在项目根目录下创建一个名为index.html的文件,并添加以下代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> </body> </html> ``` 以上代码创建了一个包含“Hello World!”文本的HTML页面。 4. 安装VueCli 在命令行中执行以下命令安装VueCli: ``` npm install -g @vue/cli ``` 以上命令会全局安装VueCli。 5. 创建Vue.js应用 在项目根目录下执行以下命令创建一个Vue.js应用: ``` vue create renderer ``` 以上命令会创建一个名为renderer的子目录,并在其中初始化一个Vue.js项目。 6. 集成Vue.js应用 在main.js中添加以下代码将Vue.js应用集成到Electron应用中: ```javascript const { app, BrowserWindow } = require('electron') const path = require('path') function createWindow () { // 创建浏览器窗口 const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, preload: path.join(__dirname, 'preload.js') // 加载preload.js文件 } }) // 加载renderer/index.html文件 win.loadFile(path.join(__dirname, 'renderer', 'dist', 'index.html')) } app.whenReady().then(() => { createWindow() }) ``` 以上代码添加了一个preload.js文件,并将Vue.js应用的入口文件设置为renderer/dist/index.html。 7. 编译Vue.js应用 在renderer目录下执行以下命令编译Vue.js应用: ``` npm run build ``` 以上命令会生成一个名为dist的子目录,并在其中包含一个编译后的Vue.js应用。 8. 运行应用 在命令行中执行以下命令启动Electron应用: ``` npm start ``` 以上命令会启动Electron应用,并在Electron窗口中显示“Hello World!”文本和一个Vue.js应用。通过Electron7+VueCli4开发跨平台桌面应用,你可以使用Web技术来构建跨平台桌面应用程序,为用户提供更好的体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值