本文適合有 Java 基礎知識的人群,跟着本文可學習和運行
Java
版桌面DJ
音樂播放器。
本文作者:HelloGitHub-秦人
HelloGitHub 推出的《講解開源項目》系列,今天給大家帶來一款開源 Java 版桌面 DJ
音樂播放器項目——XR3Player,它強大的功能和炫酷的展示效果,你肯定會喜歡上它的!
一、項目介紹
OpenJFX 是一個開源的下一代客戶端應用程序平台,適用於基於 Java 構建的桌面、移動和嵌入式系統。
本篇我們就重點講一下一款 Java
版桌面 DJ
音樂播放器,先看運行效果吧!
也可以直接下載音樂播放器安裝包:下載地址,更多 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 構建工具,就可以將項目輕松打包。如下圖:
注意
項目有一個依賴 jxbrowser-win64
可能會下載失敗,這個 jar
竟然有 40Mb,建議手動下載后導入項目依賴。jxbrowser-win64 下載地址
2.3 運行項目
創建入口類
打開 Run/Debug Configurations
創建一個 Application
,並選擇入口類,如下圖:
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
就可以本地運行項目了。如下圖:
三、音樂播放器使用
項目運行起來長這樣子,如下圖:
1、需要創建一個用戶,點擊登錄就可以進入音樂播放器管理頁面。
2、進入音樂播放器,需要創建自己的音樂播放列表,並導入本地音樂。
3、導入本地音樂后可選擇,選擇需要播放的音樂,這里直接拖動你想播放的音樂。
4、DJ
版播放器可以同步播放兩首歌曲,並可以分別控制音量和播放速度。
5、音樂播放器內嵌了瀏覽器,和在線音樂的功能。
6、其他的功能期待你的發掘,如果你也喜歡這款音樂播放器的話。
四、JavaFx 工作原理
JavaFX 的原理是這樣的(如下圖):舞台(Stage),場景(Scene),容器(Container),布局(Layout)和控件(Controls)之間的關系:
在 JavaFX 中,Stage 是應用程序窗口,其中包含稱為 Scene 的空間。Scene 包含界面的組件,如 UI 空間(按鈕,輸入框,復選框),容器等。
創建 JavaFx
項目
打開 Idea
開發工具,File
-> New
-> Project...
-> Java Fx
創建項目,如下圖:
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<ActionEvent>() {
@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);
}
}
代碼運行效果如下圖:
了解 Java Swing
的伙伴應該很熟悉,兩者的原理很相似。上面代碼的意思是:創建一個面板,然后在面板上添加標簽,輸入框和按鈕,並對按鈕添加綁定事件,然后把這個面板添加到場景中,這個窗口就完成了。
五、最后
Java
桌面 DJ
音樂播放器是真的香!不知道你對這款音樂播放器有什么感受,歡迎在評論區說說自己的想法。人們都喜歡美的好的事物,而今天的這個項目是通過 Java
代碼擼出來的,難道你還不會不喜歡 Java
這門編程語言嗎? 有了成品的直觀呈現,才能在視覺上產生更強的沖擊,可能會更加能激發你的學習動力! 如果通過我的內容分享,能讓你對編程產生興趣,我是真的開心。如果漸漸喜歡上開源項目,平時也喜歡 coding,並且願意分享你的經驗和成果,那就更完美了,編程使我快樂,內容分享讓我們認識更多伙伴!
教程至此,你應該也能快速運行 DJ
版音樂播放器了。編程是不是也特別有意思呢?手癢癢了那就趕緊安裝這款音樂播放器吧,對源碼感興趣的朋友可以開始學習項目源碼了~
六、參考資料
關注公眾號加入交流群