躁!DJ 風格 Java 桌面音樂播放器


本文適合有 Java 基礎知識的人群,跟着本文可學習和運行 Java 版桌面 DJ 音樂播放器。

本文作者:HelloGitHub-秦人

HelloGitHub 推出的《講解開源項目》系列,今天給大家帶來一款開源 Java 版桌面 DJ 音樂播放器項目——XR3Player,它強大的功能和炫酷的展示效果,你肯定會喜歡上它的!

項目源碼地址:https://github.com/goxr3plus/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 MainDebug 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 版音樂播放器了。編程是不是也特別有意思呢?手癢癢了那就趕緊安裝這款音樂播放器吧,對源碼感興趣的朋友可以開始學習項目源碼了~

六、參考資料


關注公眾號加入交流群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM