├── 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为包裹标签的容器,包含图标+文字说明