本文適合有 Java 基礎知識的人羣,跟着本文可學習和運行
Java
版桌面DJ
音樂播放器。html
本文做者:HelloGitHub-秦人java
HelloGitHub 推出的《講解開源項目》系列,今天給你們帶來一款開源 Java 版桌面 DJ
音樂播放器項目——XR3Player,它強大的功能和炫酷的展現效果,你確定會喜歡上它的!git
項目源碼地址:https://github.com/goxr3plus/XR3Playergithub
OpenJFX 是一個開源的下一代客戶端應用程序平臺,適用於基於 Java 構建的桌面、移動和嵌入式系統。 本篇咱們就重點講一下一款 Java
版桌面 DJ
音樂播放器,先看運行效果吧!web
也能夠直接下載音樂播放器安裝包:下載地址,更多 Java
桌面程序能夠從這裏獲取:openjfx.io編程
GitBash
工具,主要用於下載項目。
下載項目到本地,使用 GitBash
工具,執行以下命令:瀏覽器
git clone https://github.com/goxr3plus/XR3Player.git
複製代碼
將項目導入 Idea
,Maven 會自動下載所需的依賴。等待幾分鐘後項目依賴包均可如下載下來。使用 Idea
自帶的 Maven 構建工具,就能夠將項目輕鬆打包。以下圖: yii
注意 項目有一個依賴 jxbrowser-win64
可能會下載失敗,這個 jar
居然有 40Mb,建議手動下載後導入項目依賴。jxbrowser-win64 下載地址編程語言
建立入口類編輯器
打開 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
就能夠本地運行項目了。以下圖:
項目運行起來長這樣子,以下圖:
一、須要建立一個用戶,點擊登陸就能夠進入音樂播放器管理頁面。
二、進入音樂播放器,須要建立本身的音樂播放列表,並導入本地音樂。
三、導入本地音樂後可選擇,選擇須要播放的音樂,這裏直接拖動你想播放的音樂。
四、DJ
版播放器能夠同步播放兩首歌曲,並能夠分別控制音量和播放速度。
五、音樂播放器內嵌了瀏覽器,和在線音樂的功能。
六、其餘的功能期待你的發掘,若是你也喜歡這款音樂播放器的話。
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
版音樂播放器了。編程是否是也特別有意思呢?手癢癢了那就趕忙安裝這款音樂播放器吧,對源碼感興趣的朋友能夠開始學習項目源碼了~