├── src
└── main
│ ├── resources
│ ├── .DS_Store
│ ├── config
│ │ ├── server-config.properties
│ │ ├── province-city.yaml
│ │ └── application-context.xml
│ ├── image
│ │ ├── EditIcon.png
│ │ ├── LoadIcon.png
│ │ ├── Netease.png
│ │ ├── PlayFlag.png
│ │ ├── BackToMain.png
│ │ ├── ClearIcon.png
│ │ ├── CloseIcon.png
│ │ ├── LocalFlag.png
│ │ ├── Netease32.ico
│ │ ├── RepeatDark.png
│ │ ├── AboutIcon_15.png
│ │ ├── AlbumOutdoor.png
│ │ ├── BackIcon_12.png
│ │ ├── DefaultSinger.png
│ │ ├── EmailIcon_100.png
│ │ ├── EmailIcon_19.png
│ │ ├── FavorIcon_16.png
│ │ ├── LocalFlag_10.png
│ │ ├── LogoutIcon_15.png
│ │ ├── NeteaseExit.png
│ │ ├── NeteaseIcon.png
│ │ ├── NeteaseLast.png
│ │ ├── NeteaseNext.png
│ │ ├── NeteasePause.png
│ │ ├── PasswordIcon.png
│ │ ├── SearchIcon-16.png
│ │ ├── TrashBin_16.png
│ │ ├── TrashBin_20.png
│ │ ├── UnLoginImage.png
│ │ ├── BackToMainHover.png
│ │ ├── ClearIconHover.png
│ │ ├── CloseIconHover.png
│ │ ├── CollectIcon_16.png
│ │ ├── FavorTabIcon_20.png
│ │ ├── FavoredIcon_16.png
│ │ ├── LocalMusicIcon.png
│ │ ├── NeteaseMaximize.png
│ │ ├── NeteaseMenuIcon.png
│ │ ├── NeteaseMinimize.png
│ │ ├── NeteasePlaying.png
│ │ ├── PointToRight_12.png
│ │ ├── RecentPlayIcon.png
│ │ ├── ResizeSmall_24.png
│ │ ├── SearchDelete_20.png
│ │ ├── smartphone-call.png
│ │ ├── ChoseDirectoryIcon.png
│ │ ├── CreateGroupIcon_16.png
│ │ ├── NeteaseExitDefault.png
│ │ ├── NeteaseMaximized.png
│ │ ├── NeteasePlayAll_20.png
│ │ ├── NeteaseVolumeIcon.png
│ │ ├── RecentPlayIcon18.png
│ │ ├── RecentPlayTabIcon.png
│ │ ├── SearchTabIcon_20.png
│ │ ├── UserDefaultImage.png
│ │ ├── ExploreMusicTabIcon.png
│ │ ├── MusicGroupTabIcon_20.png
│ │ ├── NeteaseAddMusicGroup.png
│ │ ├── NeteasePlayListIcon.png
│ │ ├── SomeTreesBackground.png
│ │ ├── CreateMusicGroupTabIcon.png
│ │ ├── DefaultAlbumImage_200.png
│ │ ├── NeteaseMaximizeDefault.png
│ │ ├── NeteaseMaximizedDefault.png
│ │ ├── NeteaseMinimizeDefault.png
│ │ ├── NeteaseMusicPlayerIcon.png
│ │ ├── NeteaseSequenceLoopMode.png
│ │ ├── NeteaseSequencePlayMode.png
│ │ ├── NeteaseShufflePlayMode.png
│ │ ├── NeteaseSingleRoopIcon.png
│ │ ├── NeteaseSliderBarThumb.png
│ │ ├── NeteaseVolumeMuteIcon.png
│ │ ├── RemovePlayListSongIcon.png
│ │ ├── RemovePlayListSongIconHover.png
│ │ └── NavigateLoginOrRegisterBackground.png
│ ├── css
│ │ ├── RightAboutStyle.css
│ │ ├── TitleBarStyle.css
│ │ ├── ContextMenuStyle.css
│ │ ├── MainPaneStyle.css
│ │ ├── RightSlideLoginStyle.css
│ │ ├── RightSlideUnLoginStyle.css
│ │ ├── CheckBoxStyle.css
│ │ ├── ConfirmDialogStyle.css
│ │ ├── RegisterVerifyStyle.css
│ │ ├── MusicGroupStyle.css
│ │ ├── NavigateLoginOrRegisterStyle.css
│ │ ├── TabPaneStyle.css
│ │ ├── EditGroupContentStyle.css
│ │ ├── CreateMusicGroupStyle.css
│ │ ├── LoginStyle.css
│ │ ├── RegisterInputStyle.css
│ │ ├── SearchInputStyle.css
│ │ ├── ChoseGroupStyle.css
│ │ ├── BottomStyle.css
│ │ ├── ChoseFolderStyle.css
│ │ ├── LeftStyle.css
│ │ ├── AlbumLyricStyle.css
│ │ └── PlayListStyle.css
│ ├── log4j2.properties
│ └── fxml
│ │ ├── contextmenu
│ │ ├── favorgrouptab-contextmenu.fxml
│ │ ├── grouptab-contextmenu.fxml
│ │ └── localsong-contextmenu.fxml
│ │ ├── content
│ │ ├── tab-exploremusic-content.fxml
│ │ └── search-result-content.fxml
│ │ ├── main
│ │ ├── main-center.fxml
│ │ ├── main-pane.fxml
│ │ └── main-top.fxml
│ │ ├── component
│ │ ├── group-indicator.fxml
│ │ ├── group-tab.fxml
│ │ ├── favorgroup-tab.fxml
│ │ ├── search-history-record.fxml
│ │ └── group-candidate.fxml
│ │ ├── user
│ │ ├── register-success.fxml
│ │ ├── right-about.fxml
│ │ ├── register-verify.fxml
│ │ ├── navigate-login-register.fxml
│ │ └── right-slide-unlogin.fxml
│ │ ├── dialog
│ │ ├── logout-confirm-dialog.fxml
│ │ ├── delete-localmusic-confirm-dialog.fxml
│ │ └── clear-recentplay-confirm-dialog.fxml
│ │ └── popup
│ │ ├── create-musicgroup.fxml
│ │ ├── chose-musicfolder.fxml
│ │ └── chose-group.fxml
│ └── java
│ ├── mediaplayer
│ ├── PlayMode.java
│ ├── UserStatus.java
│ ├── PlayerStatus.java
│ ├── IMediaPlayer.java
│ └── Config.java
│ ├── response
│ └── RegisterResponse.java
│ ├── pojo
│ ├── Album.java
│ ├── Register.java
│ ├── Group.java
│ ├── Singer.java
│ ├── GroupSongDetail.java
│ ├── User.java
│ └── Song.java
│ ├── model
│ ├── LocalSinger.java
│ ├── LocalAlbum.java
│ ├── LocalSong.java
│ ├── GroupSong.java
│ ├── RecentSong.java
│ └── PlayListSong.java
│ ├── util
│ ├── MD5Utils.java
│ ├── ListUtils.java
│ ├── Pinyin4jUtils.java
│ ├── GroupUtils.java
│ ├── LocalPersistenceUtils.java
│ ├── TimeUtils.java
│ ├── JSONObjectUtils.java
│ ├── StageUtils.java
│ └── HttpClientUtils.java
│ ├── application
│ ├── SpringFXMLLoader.java
│ └── ReadLineMain.java
│ ├── controller
│ ├── main
│ │ ├── CenterController.java
│ │ └── MainController.java
│ ├── user
│ │ ├── RegisterSuccessController.java
│ │ ├── RightAboutController.java
│ │ ├── NavigateLoginOrRegisterController.java
│ │ └── RegisterVerifyController.java
│ ├── component
│ │ ├── GroupCandidateController.java
│ │ ├── GroupIndicatorController.java
│ │ ├── SearchHistoryRecordController.java
│ │ └── GroupTabController.java
│ ├── contextmenu
│ │ ├── GroupTabContextMenuController.java
│ │ └── LocalSongContextMenuController.java
│ └── dialog
│ │ ├── ClearRecentPlayConfirmDialogController.java
│ │ └── LogoutConfirmDialogController.java
│ └── service
│ ├── HideScrollerBarService.java
│ ├── LoadRecentSongService.java
│ ├── ScheduledCountDownService.java
│ ├── SearchSongService.java
│ ├── DeleteGroupService.java
│ ├── ResendRegisterCodeService.java
│ ├── HandleRegisterService.java
│ ├── LoadLocalSongService.java
│ ├── LoadLocalSingerImageService.java
│ ├── LoadLocalAlbumImageService.java
│ ├── UpdateGroupService.java
│ ├── RegisterService.java
│ └── CreateGroupService.java
├── .gitignore
└── readme.md
/src/main/resources/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/.DS_Store
--------------------------------------------------------------------------------
/src/main/resources/config/server-config.properties:
--------------------------------------------------------------------------------
1 | server=http://114.116.240.232:8080/playerserver
2 | #114.116.240.232
3 |
--------------------------------------------------------------------------------
/src/main/resources/image/EditIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/EditIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/LoadIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/LoadIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/Netease.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/Netease.png
--------------------------------------------------------------------------------
/src/main/resources/image/PlayFlag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/PlayFlag.png
--------------------------------------------------------------------------------
/src/main/resources/image/BackToMain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/BackToMain.png
--------------------------------------------------------------------------------
/src/main/resources/image/ClearIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/ClearIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/CloseIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/CloseIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/LocalFlag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/LocalFlag.png
--------------------------------------------------------------------------------
/src/main/resources/image/Netease32.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/Netease32.ico
--------------------------------------------------------------------------------
/src/main/resources/image/RepeatDark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/RepeatDark.png
--------------------------------------------------------------------------------
/src/main/resources/image/AboutIcon_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/AboutIcon_15.png
--------------------------------------------------------------------------------
/src/main/resources/image/AlbumOutdoor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/AlbumOutdoor.png
--------------------------------------------------------------------------------
/src/main/resources/image/BackIcon_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/BackIcon_12.png
--------------------------------------------------------------------------------
/src/main/resources/image/DefaultSinger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/DefaultSinger.png
--------------------------------------------------------------------------------
/src/main/resources/image/EmailIcon_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/EmailIcon_100.png
--------------------------------------------------------------------------------
/src/main/resources/image/EmailIcon_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/EmailIcon_19.png
--------------------------------------------------------------------------------
/src/main/resources/image/FavorIcon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/FavorIcon_16.png
--------------------------------------------------------------------------------
/src/main/resources/image/LocalFlag_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/LocalFlag_10.png
--------------------------------------------------------------------------------
/src/main/resources/image/LogoutIcon_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/LogoutIcon_15.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseExit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseExit.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseLast.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseNext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseNext.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteasePause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteasePause.png
--------------------------------------------------------------------------------
/src/main/resources/image/PasswordIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/PasswordIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/SearchIcon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/SearchIcon-16.png
--------------------------------------------------------------------------------
/src/main/resources/image/TrashBin_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/TrashBin_16.png
--------------------------------------------------------------------------------
/src/main/resources/image/TrashBin_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/TrashBin_20.png
--------------------------------------------------------------------------------
/src/main/resources/image/UnLoginImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/UnLoginImage.png
--------------------------------------------------------------------------------
/src/main/resources/image/BackToMainHover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/BackToMainHover.png
--------------------------------------------------------------------------------
/src/main/resources/image/ClearIconHover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/ClearIconHover.png
--------------------------------------------------------------------------------
/src/main/resources/image/CloseIconHover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/CloseIconHover.png
--------------------------------------------------------------------------------
/src/main/resources/image/CollectIcon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/CollectIcon_16.png
--------------------------------------------------------------------------------
/src/main/resources/image/FavorTabIcon_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/FavorTabIcon_20.png
--------------------------------------------------------------------------------
/src/main/resources/image/FavoredIcon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/FavoredIcon_16.png
--------------------------------------------------------------------------------
/src/main/resources/image/LocalMusicIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/LocalMusicIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMaximize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMaximize.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMenuIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMenuIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMinimize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMinimize.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteasePlaying.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteasePlaying.png
--------------------------------------------------------------------------------
/src/main/resources/image/PointToRight_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/PointToRight_12.png
--------------------------------------------------------------------------------
/src/main/resources/image/RecentPlayIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/RecentPlayIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/ResizeSmall_24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/ResizeSmall_24.png
--------------------------------------------------------------------------------
/src/main/resources/image/SearchDelete_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/SearchDelete_20.png
--------------------------------------------------------------------------------
/src/main/resources/image/smartphone-call.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/smartphone-call.png
--------------------------------------------------------------------------------
/src/main/resources/image/ChoseDirectoryIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/ChoseDirectoryIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/CreateGroupIcon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/CreateGroupIcon_16.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseExitDefault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseExitDefault.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMaximized.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMaximized.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteasePlayAll_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteasePlayAll_20.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseVolumeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseVolumeIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/RecentPlayIcon18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/RecentPlayIcon18.png
--------------------------------------------------------------------------------
/src/main/resources/image/RecentPlayTabIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/RecentPlayTabIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/SearchTabIcon_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/SearchTabIcon_20.png
--------------------------------------------------------------------------------
/src/main/resources/image/UserDefaultImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/UserDefaultImage.png
--------------------------------------------------------------------------------
/src/main/resources/image/ExploreMusicTabIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/ExploreMusicTabIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/MusicGroupTabIcon_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/MusicGroupTabIcon_20.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseAddMusicGroup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseAddMusicGroup.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteasePlayListIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteasePlayListIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/SomeTreesBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/SomeTreesBackground.png
--------------------------------------------------------------------------------
/src/main/resources/image/CreateMusicGroupTabIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/CreateMusicGroupTabIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/DefaultAlbumImage_200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/DefaultAlbumImage_200.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMaximizeDefault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMaximizeDefault.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMaximizedDefault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMaximizedDefault.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMinimizeDefault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMinimizeDefault.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseMusicPlayerIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseMusicPlayerIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseSequenceLoopMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseSequenceLoopMode.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseSequencePlayMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseSequencePlayMode.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseShufflePlayMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseShufflePlayMode.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseSingleRoopIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseSingleRoopIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseSliderBarThumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseSliderBarThumb.png
--------------------------------------------------------------------------------
/src/main/resources/image/NeteaseVolumeMuteIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NeteaseVolumeMuteIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/RemovePlayListSongIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/RemovePlayListSongIcon.png
--------------------------------------------------------------------------------
/src/main/resources/image/RemovePlayListSongIconHover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/RemovePlayListSongIconHover.png
--------------------------------------------------------------------------------
/src/main/resources/image/NavigateLoginOrRegisterBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quanbisen/neteasemusicplayer/HEAD/src/main/resources/image/NavigateLoginOrRegisterBackground.png
--------------------------------------------------------------------------------
/src/main/resources/css/RightAboutStyle.css:
--------------------------------------------------------------------------------
1 | BorderPane
2 | {
3 | -fx-background-color: #FAFAFC;
4 | -fx-padding: 0 0 0 2;
5 | -fx-effect: dropshadow(three-pass-box, #C2C2C4, 10, 0, -2, 0);
6 | }
7 | .label
8 | {
9 | -fx-font-family: "Microsoft YaHei","SimSun";
10 | }
--------------------------------------------------------------------------------
/src/main/resources/log4j2.properties:
--------------------------------------------------------------------------------
1 | # Global logging configuration
2 | log4j.rootLogger=warn,console
3 | # Console output...
4 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender
5 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
6 | log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
7 | #
8 |
--------------------------------------------------------------------------------
/src/main/java/mediaplayer/PlayMode.java:
--------------------------------------------------------------------------------
1 | package mediaplayer;
2 |
3 | public enum PlayMode {
4 | /**SEQUENCE 顺序播放
5 | * SEQUENCE_LOOP 顺序循环
6 | * SINGLE_LOOP 单曲循环
7 | * SHUFFLE 随机播放
8 | * */
9 | SEQUENCE,
10 | SEQUENCE_LOOP,
11 | SINGLE_LOOP,
12 | SHUFFLE
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/response/RegisterResponse.java:
--------------------------------------------------------------------------------
1 | package response;
2 |
3 | import lombok.Data;
4 |
5 | /**
6 | * @author super lollipop
7 | * @date 20-2-25
8 | */
9 | @Data
10 | public class RegisterResponse {
11 | private String id;
12 | private String password;
13 | private String code;
14 | private int expireSecond;
15 | private String message;
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/resources/css/TitleBarStyle.css:
--------------------------------------------------------------------------------
1 | #titleBar
2 | {
3 | -fx-pref-height: 32px;
4 | -fx-background-color: #BC2F2E;
5 | }
6 | #left_HBox
7 | {
8 | -fx-alignment: center;
9 | -fx-padding: 0 0 0 10px;
10 | }
11 | .label
12 | {
13 | -fx-text-fill: white;
14 | }
15 | #labelTitle
16 | {
17 | -fx-font-size: 13px;
18 | -fx-padding: 0 0 0 7;
19 | }
--------------------------------------------------------------------------------
/src/main/java/pojo/Album.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.RequiredArgsConstructor;
6 |
7 | /**
8 | * @author super lollipop
9 | * @date 20-2-10
10 | */
11 | @Data
12 | @AllArgsConstructor
13 | @RequiredArgsConstructor
14 | public class Album {
15 | private Integer id;
16 | private String name;
17 | private String imageURL;
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/resources/css/ContextMenuStyle.css:
--------------------------------------------------------------------------------
1 | .context-menu
2 | {
3 | -fx-background-color: #FFFFFF;
4 | }
5 | .context-menu .menu-item .label
6 | {
7 | -fx-font-family: "Microsoft YaHei","SimSun";
8 | -fx-text-fill: #333333;
9 | }
10 | .context-menu .menu-item:focused
11 | {
12 | -fx-background-color: #E6E6E6;
13 | }
14 | .context-menu .separator
15 | {
16 | -fx-padding: 0.25em 0.0em 0.25em 0.0em;
17 | }
--------------------------------------------------------------------------------
/src/main/java/model/LocalSinger.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | import javafx.scene.control.Label;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.RequiredArgsConstructor;
7 |
8 | /**
9 | * @author super lollipop
10 | * @date 20-2-6
11 | */
12 | @Data
13 | @AllArgsConstructor
14 | @RequiredArgsConstructor
15 | public class LocalSinger {
16 | private Label labSinger;
17 | private String songCount;
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/model/LocalAlbum.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | import javafx.scene.control.Label;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.RequiredArgsConstructor;
7 |
8 | /**
9 | * @author super lollipop
10 | * @date 20-2-7
11 | */
12 | @Data
13 | @AllArgsConstructor
14 | @RequiredArgsConstructor
15 | public class LocalAlbum {
16 | private Label labAlbum;
17 | private String singer;
18 | private String songCount;
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/pojo/Register.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.*;
4 |
5 | import java.util.Date;
6 |
7 | /**
8 | * @author super lollipop
9 | * @date 20-2-15
10 | */
11 | @Data
12 | @AllArgsConstructor
13 | @RequiredArgsConstructor
14 | @NoArgsConstructor
15 | public class Register {
16 | @NonNull
17 | private String id;
18 | @NonNull
19 | private String password;
20 | private Date createTime;
21 | @NonNull
22 | private String code;
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/resources/config/province-city.yaml:
--------------------------------------------------------------------------------
1 | 直辖市:
2 | - 北京
3 | - 天津
4 | - 上海
5 | - 重庆
6 | 特别行政区:
7 | - 香港
8 | - 澳门
9 | 河北:
10 | - 石家庄
11 | - 唐山
12 | - 保定
13 | - 邯郸
14 | - 邢台
15 | - 沧州
16 | - 秦皇岛
17 | - 张家口
18 | - 衡水
19 | - 廊坊
20 | - 承德
21 | 山西:
22 | 内蒙古:
23 | 辽宁:
24 | 吉林:
25 | 黑龙江:
26 | 江苏:
27 | 浙江:
28 | 安徽:
29 | 福建:
30 | 江西:
31 | 山东:
32 | 河南:
33 | 湖北:
34 | 湖南:
35 | 广东:
36 | 广西:
37 | 海南:
38 | 四川:
39 | 贵州:
40 | 云南:
41 | 西藏:
42 | 陕西:
43 | 甘肃:
44 | 青海:
45 | 宁夏:
46 | 新疆:
47 | 台湾:
--------------------------------------------------------------------------------
/src/main/resources/fxml/contextmenu/favorgrouptab-contextmenu.fxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/main/resources/fxml/content/tab-exploremusic-content.fxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/main/java/pojo/Group.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.*;
4 | import java.util.Date;
5 | import java.util.List;
6 |
7 | /**
8 | * @author super lollipop
9 | * @date 20-2-18
10 | */
11 | @Data
12 | @AllArgsConstructor
13 | @NoArgsConstructor
14 | public class Group {
15 | private int id;
16 | private String name;
17 | private String description;
18 | private Date createTime;
19 | private String userID;
20 | private String imageURL;
21 | private int favor;
22 | private List groupSongDetailList;
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/main/java/pojo/Singer.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.RequiredArgsConstructor;
6 |
7 | import java.util.Date;
8 |
9 | /**
10 | * @author super lollipop
11 | * @date 20-2-8
12 | */
13 | @Data
14 | @AllArgsConstructor
15 | @RequiredArgsConstructor
16 | public class Singer {
17 | private int id;
18 | private String name;
19 | private Date birthday;
20 | private float height;
21 | private float weight;
22 | private String constellation;
23 | private String description;
24 | private String imageURL;
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/src/main/java/model/LocalSong.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | import lombok.*;
4 |
5 | @Data
6 | @AllArgsConstructor
7 | @RequiredArgsConstructor
8 | public class LocalSong {
9 | private String index;
10 | @NonNull
11 | private String name;
12 | private String singer;
13 | private String album;
14 | private String totalTime;
15 | private String size;
16 | private String resource;
17 | private String lyrics;
18 |
19 | /**把歌名、歌手和专辑转换成字符串内容
20 | * @return String*/
21 | public String toStringContent() {
22 | return name + singer + album;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled class file
2 | *.class
3 |
4 | dependency-reduced-pom.xml
5 |
6 | #IDEA relevant file
7 | target
8 | .idea
9 | neteasemusicplayer.iml
10 | .attach_pid*
11 |
12 | # Log file
13 | *.log
14 |
15 |
16 |
17 | #MacOS file
18 | *.DS_Store
19 |
20 | #Test folder
21 | src/test
22 |
23 | # BlueJ files
24 | *.ctxt
25 |
26 | # Mobile Tools for Java (J2ME)
27 | .mtj.tmp/
28 |
29 | # Package Files #
30 | *.jar
31 | *.war
32 | *.nar
33 | *.ear
34 | *.zip
35 | *.tar.gz
36 | *.rar
37 |
38 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
39 | hs_err_pid*
--------------------------------------------------------------------------------
/src/main/resources/css/MainPaneStyle.css:
--------------------------------------------------------------------------------
1 | StackPane
2 | {
3 | -fx-background-color: transparent;
4 | }
5 | .shadowPaneFocused
6 | {
7 | -fx-background-color: WHITE;
8 | -fx-effect: dropshadow(three-pass-box, #333333, 9, 0, 0, 0 );
9 | -fx-background-insets: 9;
10 | }
11 | .shadowPaneUnFocused
12 | {
13 | -fx-background-color: WHITE;
14 | -fx-effect: dropshadow(three-pass-box, #333333, 5, 0, 0, 0 );
15 | -fx-background-insets: 9;
16 | }
17 | .borderPaneDefault
18 | {
19 | -fx-background-color:WHITE;
20 | -fx-padding: 9;
21 | }
22 | .borderPaneMaximized
23 | {
24 | -fx-background-color:WHITE;
25 | -fx-padding: 0;
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/pojo/GroupSongDetail.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | import java.util.Date;
8 |
9 | /**
10 | * @author super lollipop
11 | * @date 5/10/20
12 | */
13 | @Data
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | public class GroupSongDetail {
17 | private Integer id;
18 | private String name;
19 | private String singer;
20 | private String album;
21 | private String totalTime;
22 | private String size;
23 | private String resourceURL;
24 | private String lyricURL;
25 | private String albumURL;
26 | private Date addTime;
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/resources/css/RightSlideLoginStyle.css:
--------------------------------------------------------------------------------
1 | .label,.button
2 | {
3 | -fx-font-family: "Microsoft YaHei","SimSun";
4 | }
5 | /*#borderPaneRoot*/
6 | /*{*/
7 | /* -fx-border-color: RED;*/
8 | /* -fx-border-width: 1px;*/
9 | /*}*/
10 | .mainContainer
11 | {
12 | /*-fx-border-color: #C2C2C4;
13 | -fx-border-width: 0 0 0 1;*/
14 | -fx-background-color: #FAFAFC;
15 | -fx-padding: 0 0 0 2;
16 | -fx-effect: dropshadow(three-pass-box, #C2C2C4, 10, 0, -2, 0);
17 | }
18 | #btnEdit:pressed
19 | {
20 | -fx-scale-x: 0.98;
21 | -fx-scale-y: 0.98;
22 | }
23 | .hBoxTab:pressed
24 | {
25 | -fx-scale-x: 0.99;
26 | -fx-scale-y: 0.99;
27 | }
--------------------------------------------------------------------------------
/src/main/resources/css/RightSlideUnLoginStyle.css:
--------------------------------------------------------------------------------
1 | .label,.button
2 | {
3 | -fx-font-family: "Microsoft YaHei","SimSun";
4 | }
5 | /*#borderPaneRoot*/
6 | /*{*/
7 | /* -fx-border-color: RED;*/
8 | /* -fx-border-width: 1px;*/
9 | /*}*/
10 | .mainContainer
11 | {
12 | /*-fx-border-color: #C2C2C4;
13 | -fx-border-width: 0 0 0 1;*/
14 | -fx-background-color: #FAFAFC;
15 | -fx-padding: 0 0 0 2;
16 | -fx-effect: dropshadow(three-pass-box, #C2C2C4, 10, 0, -2, 0);
17 | }
18 | .button
19 | {
20 | -fx-background-color: #BC2F2D;
21 | -fx-text-fill: WHITE;
22 | -fx-background-insets: 0;
23 | }
24 | .button:hover
25 | {
26 | -fx-opacity: 0.8;
27 | }
--------------------------------------------------------------------------------
/src/main/java/model/GroupSong.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | import javafx.scene.control.Label;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | import java.util.Date;
9 |
10 | /**
11 | * @author super lollipop
12 | * @date 20-3-9
13 | */
14 | @Data
15 | @AllArgsConstructor
16 | @NoArgsConstructor
17 | public class GroupSong {
18 | private String index;
19 | private Label labFavor;
20 | private String name;
21 | private Label labLocalFlag;
22 | private String singer;
23 | private String album;
24 | private String totalTime;
25 | private Date addTime;
26 | private String resourceURL;
27 | private String imageURL;
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/model/RecentSong.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | import javafx.scene.control.Label;
4 | import javafx.scene.image.ImageView;
5 | import lombok.AllArgsConstructor;
6 | import lombok.Data;
7 | import lombok.NonNull;
8 | import lombok.RequiredArgsConstructor;
9 | import util.ImageUtils;
10 |
11 | @Data
12 | @AllArgsConstructor
13 | @RequiredArgsConstructor
14 | public class RecentSong {
15 | private String index;
16 | private Label labAddFavor;
17 | @NonNull
18 | private String name;
19 | @NonNull
20 | private String singer;
21 | @NonNull
22 | private String album;
23 | @NonNull
24 | private String totalTime;
25 | @NonNull
26 | private String resource;
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/pojo/User.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.*;
4 |
5 | import java.util.Date;
6 | import java.util.List;
7 |
8 | /**
9 | * @author super lollipop
10 | * @date 19-12-6
11 | */
12 | @Data
13 | @AllArgsConstructor
14 | @NoArgsConstructor
15 | public class User {
16 | private String id;
17 | private String password;
18 | private String name;
19 | private String token;
20 | private Date loginTime;
21 | private String description;
22 | private String sex;
23 | private Date birthday;
24 | private String imageURL;
25 | private String localImagePath;
26 | private String province;
27 | private String city;
28 | private List groupList;
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/src/main/java/pojo/Song.java:
--------------------------------------------------------------------------------
1 | package pojo;
2 |
3 | import lombok.*;
4 |
5 | import java.util.Date;
6 | import java.util.List;
7 |
8 | /**
9 | * @author super lollipop
10 | * @date 20-1-24
11 | */
12 | @Data
13 | @AllArgsConstructor
14 | @NoArgsConstructor
15 | public class Song {
16 | private Integer id;
17 | private String name;
18 | private Album albumObject;
19 | private String albumName;
20 | private List singerList;
21 | private String totalTime;
22 | private String size;
23 | private Date publishTime;
24 | private Integer albumID;
25 | private Date collectTime;
26 | private String resourceURL;
27 | private String lyricURL;
28 | private String albumURL;
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/resources/css/CheckBoxStyle.css:
--------------------------------------------------------------------------------
1 | .check-box
2 | {
3 | -fx-font-family: "Microsoft YaHei","SimSun";
4 | -fx-font-size: 14px;
5 | -fx-padding: 0 0 25 15;
6 | -fx-min-width: 330px;
7 | -fx-min-height: 50px;
8 | -fx-pref-width: 330px;
9 | -fx-pref-height: 40px;
10 | -fx-max-width: 330px;
11 | -fx-max-height: 40px;
12 | }
13 | .check-box .box
14 | {
15 | -fx-pref-width: 12px;
16 | -fx-pref-height: 12px;
17 | -fx-background-color: white;
18 | -fx-border-color:#8E8E8E;
19 | }
20 | .check-box > .box > .mark
21 | {
22 | -fx-scale-shape: true;
23 | -fx-scale-x: 0.5;
24 | -fx-scale-y: 0.5;
25 | }
26 | .check-box:selected .mark
27 | {
28 | -fx-background-color: #c83d3f;
29 | }
--------------------------------------------------------------------------------
/src/main/java/util/MD5Utils.java:
--------------------------------------------------------------------------------
1 | package util;
2 |
3 | import org.springframework.util.DigestUtils;
4 |
5 | import java.io.UnsupportedEncodingException;
6 | import java.security.MessageDigest;
7 | import java.security.NoSuchAlgorithmException;
8 |
9 | /**
10 | * @author super lollipop
11 | * @date 20-2-11
12 | */
13 | public class MD5Utils {
14 | /**获取字符串的MD5值
15 | * @param string
16 | * @return String*/
17 | public static String getMD5(String string) throws NoSuchAlgorithmException, UnsupportedEncodingException {
18 | MessageDigest messageDigest = MessageDigest.getInstance("MD5");
19 | messageDigest.update(string.getBytes("utf-8"));
20 | return DigestUtils.md5DigestAsHex(messageDigest.digest());
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/resources/fxml/contextmenu/grouptab-contextmenu.fxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/main/resources/fxml/contextmenu/localsong-contextmenu.fxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/main/java/application/SpringFXMLLoader.java:
--------------------------------------------------------------------------------
1 | package application;
2 |
3 | import javafx.fxml.FXMLLoader;
4 | import org.springframework.context.ApplicationContext;
5 | import org.springframework.stereotype.Component;
6 | import javax.annotation.Resource;
7 |
8 | @Component
9 | public final class SpringFXMLLoader{
10 |
11 | /**注入Spring上下文对象*/
12 | @Resource
13 | private ApplicationContext applicationContext;
14 |
15 | /**
16 | * 获取一个ControllerFactory被SpringBeanFactory管理的FXMLLoader对象
17 | * @param resource fxml文件的路径
18 | * */
19 | public FXMLLoader getLoader(String resource){
20 | FXMLLoader fxmlLoader = new FXMLLoader(this.getClass().getResource(resource));
21 | fxmlLoader.setControllerFactory(applicationContext::getBean);
22 | return fxmlLoader;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/resources/css/ConfirmDialogStyle.css:
--------------------------------------------------------------------------------
1 | #actualPane
2 | {
3 | -fx-background-color: transparent;
4 | -fx-padding: 5;
5 | }
6 | #visualPane
7 | {
8 | -fx-background-color: WHITE;
9 | -fx-border-width: 1;
10 | -fx-border-color: #c9c9cb;
11 | -fx-effect: dropshadow(three-pass-box, #c9c9cb,5,0,0,0);
12 | }
13 | .label
14 | {
15 | -fx-font-family: "Microsoft YaHei","SimSun";
16 | -fx-font-size: 16px;
17 | }
18 | #btnConfirm
19 | {
20 | -fx-background-color: #BC2F2D;
21 | -fx-text-fill: WHITE;
22 | -fx-background-insets: 0;
23 | -fx-background-radius: 0;
24 | }
25 | #btnCancel
26 | {
27 | -fx-background-color: WHITE;
28 | -fx-text-fill: #BC2F2D;
29 | -fx-border-color: #BC2F2D;
30 | -fx-border-width: 1;
31 | }
32 | #btnConfirm:hover,#btnCancel:hover
33 | {
34 | -fx-opacity: 0.8;
35 | }
--------------------------------------------------------------------------------
/src/main/resources/fxml/main/main-center.fxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/main/java/controller/main/CenterController.java:
--------------------------------------------------------------------------------
1 | package controller.main;
2 |
3 | import javafx.fxml.FXML;
4 | import javafx.scene.layout.BorderPane;
5 | import javafx.scene.layout.StackPane;
6 | import org.springframework.stereotype.Controller;
7 |
8 | import javax.annotation.Resource;
9 |
10 | @Controller
11 | public class CenterController {
12 |
13 | /**中间的StackPane容器*/
14 | @FXML
15 | private StackPane stackPane;
16 |
17 | /**中间StackPane第0层的borderPane,StackPane的层数如 0,1,2...*/
18 | @FXML
19 | private BorderPane borderPane;
20 |
21 | @Resource
22 | private LeftController leftController;
23 |
24 | @Resource
25 | private MainController mainController;
26 |
27 | public StackPane getStackPane(){
28 | return stackPane;
29 | }
30 |
31 | public BorderPane getBorderPane(){ return borderPane; }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/resources/css/RegisterVerifyStyle.css:
--------------------------------------------------------------------------------
1 | .text-field
2 | {
3 | -fx-background-color: #FFFFFF;
4 | }
5 | .text-input, .text-input:focused
6 | {
7 | -fx-prompt-text-fill: derive(-fx-control-inner-background, -30%);
8 | }
9 | .label
10 | {
11 | -fx-font-family: "Microsoft YaHei","SimSun";
12 | }
13 | .labTime
14 | {
15 | -fx-text-fill: #529e4e;
16 | }
17 | .labResend
18 | {
19 | -fx-background-color: #529e4e;
20 | -fx-text-fill: #ebecee;
21 | -fx-background-radius: 1em;
22 | }
23 | .progress-indicator
24 | {
25 | -fx-pref-height: 18px;
26 | -fx-max-height: 18px;
27 | -fx-pref-width: 18px;
28 | -fx-max-width: 18px;
29 | -fx-progress-color: gray;
30 | }
31 | .button
32 | {
33 | -fx-font-family: "Microsoft YaHei","SimSun";
34 | -fx-font-size: 16px;
35 | -fx-background-color: #BC2F2D;
36 | -fx-text-fill: WHITE;
37 | -fx-background-insets: 0;
38 | }
--------------------------------------------------------------------------------
/src/main/java/mediaplayer/UserStatus.java:
--------------------------------------------------------------------------------
1 | package mediaplayer;
2 |
3 | import lombok.Data;
4 | import org.springframework.stereotype.Component;
5 | import pojo.Group;
6 | import pojo.User;
7 | import response.RegisterResponse;
8 |
9 | import java.util.List;
10 |
11 | /**
12 | * @author super lollipop
13 | * @date 20-3-30
14 | */
15 | @Component
16 | @Data
17 | public class UserStatus {
18 |
19 | /**
20 | * 播放器合法的登录用户对象
21 | * */
22 | private User user;
23 |
24 | /**
25 | * 注册时的临时对象
26 | * */
27 | private RegisterResponse registerResponse;
28 |
29 | public void updateGroup(Group group,int groupID){
30 | List groupList = user.getGroupList();
31 | for (int i = 0; i < groupList.size(); i++) {
32 | if (groupList.get(i).getId() == groupID){
33 | groupList.set(i,group);
34 | break;
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/resources/css/MusicGroupStyle.css:
--------------------------------------------------------------------------------
1 | .label
2 | {
3 | -fx-font-family: "Microsoft YaHei","SimSun";
4 | }
5 | /*hBoxTab为包裹标签的容器,包含图标+文字说明