├── README.md └── music-ui ├── build.xml ├── build ├── built-jar.properties └── classes │ └── com │ └── raven │ ├── component │ ├── Bottom.class │ ├── ItemImage.class │ ├── ItemMenu.class │ ├── ItemMusic.class │ ├── ItemProfile.class │ ├── ListMenu$1.class │ ├── ListMenu.class │ ├── ListMusic$1.class │ ├── ListMusic$2.class │ ├── ListMusic.class │ ├── ListProfile$1.class │ ├── ListProfile.class │ ├── Menu.class │ ├── MostPopular.class │ ├── Music.class │ ├── Play.class │ └── Profile.class │ ├── form │ └── Form_Artists.class │ ├── icon │ ├── albums.png │ ├── albums_selected.png │ ├── artists.png │ ├── artists_selected.png │ ├── back.png │ ├── browse.png │ ├── browse_selected.png │ ├── love.png │ ├── love_bot.png │ ├── love_selected.png │ ├── next.png │ ├── play.png │ ├── playing.png │ ├── playlist.png │ ├── playlist_selected.png │ ├── radio.png │ ├── radio_selected.png │ ├── repeat.png │ ├── song.png │ ├── song_selected.png │ ├── speaker.png │ ├── store.png │ ├── store_selected.png │ └── test │ │ ├── avicii.png │ │ ├── avicii_pro.jpg │ │ ├── ed-sheeran.jpg │ │ ├── kygo.png │ │ ├── kygo_pro.jpg │ │ ├── sigala.jpg │ │ └── sigala_pro.jpg │ ├── main │ ├── Main$1.class │ ├── Main$2.class │ ├── Main$3.class │ ├── Main$4.class │ ├── Main$5.class │ └── Main.class │ ├── model │ ├── Model_Menu.class │ ├── Model_Music.class │ ├── Model_Popular.class │ └── Model_Profile.class │ └── swing │ ├── ImageAvatar.class │ ├── ModernScrollBarUI$1.class │ ├── ModernScrollBarUI$InvisibleScrollBarButton.class │ ├── ModernScrollBarUI.class │ ├── Panel.class │ ├── ScrollBar.class │ ├── Slider$1.class │ └── Slider.class ├── manifest.mf ├── nbproject ├── build-impl.xml ├── genfiles.properties ├── private │ ├── private.properties │ └── private.xml ├── project.properties └── project.xml └── src └── com └── raven ├── component ├── Bottom.form ├── Bottom.java ├── ItemImage.form ├── ItemImage.java ├── ItemMenu.form ├── ItemMenu.java ├── ItemMusic.form ├── ItemMusic.java ├── ItemProfile.form ├── ItemProfile.java ├── ListMenu.java ├── ListMusic.java ├── ListProfile.java ├── Menu.form ├── Menu.java ├── MostPopular.form ├── MostPopular.java ├── Music.form ├── Music.java ├── Play.form ├── Play.java ├── Profile.form └── Profile.java ├── form ├── Form_Artists.form └── Form_Artists.java ├── icon ├── albums.png ├── albums_selected.png ├── artists.png ├── artists_selected.png ├── back.png ├── browse.png ├── browse_selected.png ├── love.png ├── love_bot.png ├── love_selected.png ├── next.png ├── play.png ├── playing.png ├── playlist.png ├── playlist_selected.png ├── radio.png ├── radio_selected.png ├── repeat.png ├── song.png ├── song_selected.png ├── speaker.png ├── store.png ├── store_selected.png └── test │ ├── avicii.png │ ├── avicii_pro.jpg │ ├── ed-sheeran.jpg │ ├── kygo.png │ ├── kygo_pro.jpg │ ├── sigala.jpg │ └── sigala_pro.jpg ├── main ├── Main.form └── Main.java ├── model ├── Model_Menu.java ├── Model_Music.java ├── Model_Popular.java └── Model_Profile.java └── swing ├── ImageAvatar.java ├── ModernScrollBarUI.java ├── Panel.java ├── ScrollBar.java └── Slider.java /README.md: -------------------------------------------------------------------------------- 1 | # java-ui-music-player 2 | Date : 06/07/2021
3 | How to coding in java 4 | visit my youtube : https://www.youtube.com/c/HelloWorld-Raven/featured 5 |

6 | ![2021-07-06_200508](https://user-images.githubusercontent.com/58245926/124632845-e4d87980-deae-11eb-800a-e3102804d5b6.png) 7 | 8 | -------------------------------------------------------------------------------- /music-ui/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Builds, tests, and runs the project music-ui. 12 | 13 | 73 | 74 | -------------------------------------------------------------------------------- /music-ui/build/built-jar.properties: -------------------------------------------------------------------------------- 1 | #Wed, 07 Jul 2021 22:33:43 +0700 2 | 3 | 4 | D\:\\Raven\\youtube\\ui-music\\working\ project\\music-ui= 5 | -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/Bottom.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/Bottom.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ItemImage.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ItemImage.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ItemMenu.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ItemMenu.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ItemMusic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ItemMusic.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ItemProfile.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ItemProfile.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListMenu$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListMenu$1.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListMenu.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListMenu.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListMusic$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListMusic$1.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListMusic$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListMusic$2.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListMusic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListMusic.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListProfile$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListProfile$1.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/ListProfile.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/ListProfile.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/Menu.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/Menu.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/MostPopular.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/MostPopular.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/Music.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/Music.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/Play.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/Play.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/component/Profile.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/component/Profile.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/form/Form_Artists.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/form/Form_Artists.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/albums.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/albums.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/albums_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/albums_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/artists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/artists.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/artists_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/artists_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/back.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/browse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/browse.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/browse_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/browse_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/love.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/love.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/love_bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/love_bot.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/love_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/love_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/next.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/play.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/playing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/playing.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/playlist.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/playlist_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/playlist_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/radio.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/radio_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/radio_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/repeat.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/song.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/song.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/song_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/song_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/speaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/speaker.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/store.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/store_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/store_selected.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/avicii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/avicii.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/avicii_pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/avicii_pro.jpg -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/ed-sheeran.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/ed-sheeran.jpg -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/kygo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/kygo.png -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/kygo_pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/kygo_pro.jpg -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/sigala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/sigala.jpg -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/icon/test/sigala_pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/icon/test/sigala_pro.jpg -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/main/Main$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/main/Main$1.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/main/Main$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/main/Main$2.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/main/Main$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/main/Main$3.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/main/Main$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/main/Main$4.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/main/Main$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/main/Main$5.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/main/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/main/Main.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/model/Model_Menu.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/model/Model_Menu.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/model/Model_Music.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/model/Model_Music.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/model/Model_Popular.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/model/Model_Popular.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/model/Model_Profile.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/model/Model_Profile.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/ImageAvatar.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/ImageAvatar.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/ModernScrollBarUI$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/ModernScrollBarUI$1.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/ModernScrollBarUI$InvisibleScrollBarButton.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/ModernScrollBarUI$InvisibleScrollBarButton.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/ModernScrollBarUI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/ModernScrollBarUI.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/Panel.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/Panel.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/ScrollBar.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/ScrollBar.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/Slider$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/Slider$1.class -------------------------------------------------------------------------------- /music-ui/build/classes/com/raven/swing/Slider.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/build/classes/com/raven/swing/Slider.class -------------------------------------------------------------------------------- /music-ui/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | X-COMMENT: Main-Class will be added automatically by build 3 | 4 | -------------------------------------------------------------------------------- /music-ui/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=37072aff 2 | build.xml.script.CRC32=5fd632fa 3 | build.xml.stylesheet.CRC32=f85dc8f2@1.97.0.48 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=37072aff 7 | nbproject/build-impl.xml.script.CRC32=41741f23 8 | nbproject/build-impl.xml.stylesheet.CRC32=d549e5cc@1.97.0.48 9 | -------------------------------------------------------------------------------- /music-ui/nbproject/private/private.properties: -------------------------------------------------------------------------------- 1 | compile.on.save=true 2 | user.properties.file=C:\\Users\\RAVEN\\AppData\\Roaming\\NetBeans\\12.2\\build.properties 3 | -------------------------------------------------------------------------------- /music-ui/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | file:/D:/Raven/youtube/ui-music/working%20project/music-ui/src/com/raven/main/Main.java 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /music-ui/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | annotation.processing.enabled=true 2 | annotation.processing.enabled.in.editor=false 3 | annotation.processing.processor.options= 4 | annotation.processing.processors.list= 5 | annotation.processing.run.all.processors=true 6 | annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output 7 | build.classes.dir=${build.dir}/classes 8 | build.classes.excludes=**/*.java,**/*.form 9 | # This directory is removed when the project is cleaned: 10 | build.dir=build 11 | build.generated.dir=${build.dir}/generated 12 | build.generated.sources.dir=${build.dir}/generated-sources 13 | # Only compile against the classpath explicitly listed here: 14 | build.sysclasspath=ignore 15 | build.test.classes.dir=${build.dir}/test/classes 16 | build.test.results.dir=${build.dir}/test/results 17 | # Uncomment to specify the preferred debugger connection transport: 18 | #debug.transport=dt_socket 19 | debug.classpath=\ 20 | ${run.classpath} 21 | debug.modulepath=\ 22 | ${run.modulepath} 23 | debug.test.classpath=\ 24 | ${run.test.classpath} 25 | debug.test.modulepath=\ 26 | ${run.test.modulepath} 27 | # Files in build.classes.dir which should be excluded from distribution jar 28 | dist.archive.excludes= 29 | # This directory is removed when the project is cleaned: 30 | dist.dir=dist 31 | dist.jar=${dist.dir}/music-ui.jar 32 | dist.javadoc.dir=${dist.dir}/javadoc 33 | dist.jlink.dir=${dist.dir}/jlink 34 | dist.jlink.output=${dist.jlink.dir}/music-ui 35 | excludes= 36 | includes=** 37 | jar.compress=false 38 | javac.classpath= 39 | # Space-separated list of extra javac options 40 | javac.compilerargs= 41 | javac.deprecation=false 42 | javac.external.vm=true 43 | javac.modulepath= 44 | javac.processormodulepath= 45 | javac.processorpath=\ 46 | ${javac.classpath} 47 | javac.source=1.8 48 | javac.target=1.8 49 | javac.test.classpath=\ 50 | ${javac.classpath}:\ 51 | ${build.classes.dir} 52 | javac.test.modulepath=\ 53 | ${javac.modulepath} 54 | javac.test.processorpath=\ 55 | ${javac.test.classpath} 56 | javadoc.additionalparam= 57 | javadoc.author=false 58 | javadoc.encoding=${source.encoding} 59 | javadoc.html5=false 60 | javadoc.noindex=false 61 | javadoc.nonavbar=false 62 | javadoc.notree=false 63 | javadoc.private=false 64 | javadoc.splitindex=true 65 | javadoc.use=true 66 | javadoc.version=false 67 | javadoc.windowtitle= 68 | # The jlink additional root modules to resolve 69 | jlink.additionalmodules= 70 | # The jlink additional command line parameters 71 | jlink.additionalparam= 72 | jlink.launcher=true 73 | jlink.launcher.name=music-ui 74 | main.class=com.raven.main.Main 75 | manifest.file=manifest.mf 76 | meta.inf.dir=${src.dir}/META-INF 77 | mkdist.disabled=false 78 | platform.active=JDK_1.8 79 | run.classpath=\ 80 | ${javac.classpath}:\ 81 | ${build.classes.dir} 82 | # Space-separated list of JVM arguments used when running the project. 83 | # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. 84 | # To set system properties for unit tests define test-sys-prop.name=value: 85 | run.jvmargs= 86 | run.modulepath=\ 87 | ${javac.modulepath} 88 | run.test.classpath=\ 89 | ${javac.test.classpath}:\ 90 | ${build.test.classes.dir} 91 | run.test.modulepath=\ 92 | ${javac.test.modulepath} 93 | source.encoding=UTF-8 94 | src.dir=src 95 | test.src.dir=test 96 | -------------------------------------------------------------------------------- /music-ui/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | music-ui 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Bottom.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 |
120 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Bottom.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import java.awt.Color; 4 | import java.awt.Graphics; 5 | import java.awt.Graphics2D; 6 | import java.awt.RenderingHints; 7 | 8 | public class Bottom extends javax.swing.JPanel { 9 | 10 | public Bottom() { 11 | initComponents(); 12 | setOpaque(false); 13 | setBackground(new Color(68, 68, 68)); 14 | } 15 | 16 | @SuppressWarnings("unchecked") 17 | // //GEN-BEGIN:initComponents 18 | private void initComponents() { 19 | 20 | play1 = new com.raven.component.Play(); 21 | slider1 = new com.raven.swing.Slider(); 22 | jLabel1 = new javax.swing.JLabel(); 23 | jLabel2 = new javax.swing.JLabel(); 24 | jButton1 = new javax.swing.JButton(); 25 | jButton2 = new javax.swing.JButton(); 26 | jButton3 = new javax.swing.JButton(); 27 | 28 | slider1.setMaximum(200); 29 | slider1.setValue(60); 30 | 31 | jLabel1.setForeground(new java.awt.Color(255, 255, 255)); 32 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 33 | jLabel1.setText("01:05"); 34 | 35 | jLabel2.setForeground(new java.awt.Color(255, 255, 255)); 36 | jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 37 | jLabel2.setText("03:35"); 38 | 39 | jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/speaker.png"))); // NOI18N 40 | jButton1.setContentAreaFilled(false); 41 | jButton1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 42 | 43 | jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/love_bot.png"))); // NOI18N 44 | jButton2.setContentAreaFilled(false); 45 | jButton2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 46 | 47 | jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/repeat.png"))); // NOI18N 48 | jButton3.setContentAreaFilled(false); 49 | jButton3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 50 | 51 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 52 | this.setLayout(layout); 53 | layout.setHorizontalGroup( 54 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 55 | .addGroup(layout.createSequentialGroup() 56 | .addComponent(play1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 57 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 58 | .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) 59 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 60 | .addComponent(slider1, javax.swing.GroupLayout.DEFAULT_SIZE, 669, Short.MAX_VALUE) 61 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 62 | .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) 63 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 64 | .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 65 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 66 | .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 67 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 68 | .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 69 | .addContainerGap()) 70 | ); 71 | layout.setVerticalGroup( 72 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 73 | .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 74 | .addGap(0, 0, Short.MAX_VALUE) 75 | .addComponent(play1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 76 | .addGroup(layout.createSequentialGroup() 77 | .addContainerGap() 78 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 79 | .addComponent(slider1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 80 | .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 81 | .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 82 | .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 83 | .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 84 | .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 85 | .addContainerGap()) 86 | ); 87 | }// //GEN-END:initComponents 88 | 89 | @Override 90 | protected void paintComponent(Graphics grphcs) { 91 | Graphics2D g2 = (Graphics2D) grphcs; 92 | g2.setColor(getBackground()); 93 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 94 | g2.fillRoundRect(0, 0, getWidth(), getHeight(), 20, 20); 95 | g2.fillRect(0, 0, getWidth(), 25); 96 | super.paintComponent(grphcs); 97 | } 98 | 99 | // Variables declaration - do not modify//GEN-BEGIN:variables 100 | private javax.swing.JButton jButton1; 101 | private javax.swing.JButton jButton2; 102 | private javax.swing.JButton jButton3; 103 | private javax.swing.JLabel jLabel1; 104 | private javax.swing.JLabel jLabel2; 105 | private com.raven.component.Play play1; 106 | private com.raven.swing.Slider slider1; 107 | // End of variables declaration//GEN-END:variables 108 | } 109 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemImage.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemImage.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Popular; 4 | import java.awt.Dimension; 5 | import java.awt.Graphics; 6 | import java.awt.Graphics2D; 7 | import java.awt.Image; 8 | import java.awt.Point; 9 | import java.awt.Rectangle; 10 | import java.awt.RenderingHints; 11 | import javax.swing.Icon; 12 | import javax.swing.ImageIcon; 13 | 14 | public class ItemImage extends javax.swing.JPanel { 15 | 16 | public ItemImage() { 17 | initComponents(); 18 | init(); 19 | } 20 | 21 | private void init() { 22 | setOpaque(false); 23 | setPreferredSize(new Dimension(350, 200)); 24 | setMaximumSize(new Dimension(350, 200)); 25 | setMinimumSize(new Dimension(350, 200)); 26 | } 27 | private Model_Popular data; 28 | 29 | public void setData(Model_Popular data) { 30 | this.data = data; 31 | lbTitle.setText(data.getTitle()); 32 | lbDescription.setText(data.getDescription()); 33 | repaint(); 34 | } 35 | 36 | @Override 37 | protected void paintComponent(Graphics grphcs) { 38 | if (data != null) { 39 | Graphics2D g2 = (Graphics2D) grphcs; 40 | g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 41 | Rectangle size = getAutoSize(data.getImage()); 42 | g2.drawImage(toImage(data.getImage()), size.x, size.y, size.width, size.height, null); 43 | } 44 | super.paintComponent(grphcs); 45 | } 46 | 47 | private Rectangle getAutoSize(Icon image) { 48 | int w = getWidth(); 49 | int h = getHeight(); 50 | int iw = image.getIconWidth(); 51 | int ih = image.getIconHeight(); 52 | double xScale = (double) w / iw; 53 | double yScale = (double) h / ih; 54 | double scale = Math.max(xScale, yScale); 55 | int width = (int) (scale * iw); 56 | int height = (int) (scale * ih); 57 | int x = (w - width) / 2; 58 | int y = (h - height) / 2; 59 | return new Rectangle(new Point(x, y), new Dimension(width, height)); 60 | } 61 | 62 | private Image toImage(Icon icon) { 63 | return ((ImageIcon) icon).getImage(); 64 | } 65 | 66 | @SuppressWarnings("unchecked") 67 | // //GEN-BEGIN:initComponents 68 | private void initComponents() { 69 | 70 | lbTitle = new javax.swing.JLabel(); 71 | lbDescription = new javax.swing.JLabel(); 72 | 73 | lbTitle.setFont(new java.awt.Font("sansserif", 0, 20)); // NOI18N 74 | lbTitle.setForeground(new java.awt.Color(255, 255, 255)); 75 | lbTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 76 | lbTitle.setText("Title"); 77 | 78 | lbDescription.setFont(new java.awt.Font("sansserif", 0, 15)); // NOI18N 79 | lbDescription.setForeground(new java.awt.Color(255, 255, 255)); 80 | lbDescription.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 81 | lbDescription.setText("Description"); 82 | 83 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 84 | this.setLayout(layout); 85 | layout.setHorizontalGroup( 86 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 87 | .addGroup(layout.createSequentialGroup() 88 | .addContainerGap() 89 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 90 | .addComponent(lbDescription, javax.swing.GroupLayout.DEFAULT_SIZE, 338, Short.MAX_VALUE) 91 | .addComponent(lbTitle, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 92 | .addContainerGap()) 93 | ); 94 | layout.setVerticalGroup( 95 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 96 | .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 97 | .addContainerGap(128, Short.MAX_VALUE) 98 | .addComponent(lbTitle) 99 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 100 | .addComponent(lbDescription) 101 | .addGap(20, 20, 20)) 102 | ); 103 | }// //GEN-END:initComponents 104 | 105 | 106 | // Variables declaration - do not modify//GEN-BEGIN:variables 107 | private javax.swing.JLabel lbDescription; 108 | private javax.swing.JLabel lbTitle; 109 | // End of variables declaration//GEN-END:variables 110 | } 111 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemMenu.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemMenu.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Menu; 4 | import java.awt.Color; 5 | import java.awt.Graphics; 6 | import java.awt.Graphics2D; 7 | import java.awt.RenderingHints; 8 | 9 | public class ItemMenu extends javax.swing.JPanel { 10 | 11 | public boolean isSelected() { 12 | return selected; 13 | } 14 | 15 | private final Model_Menu data; 16 | private boolean selected; 17 | 18 | public void setSelected(boolean selected) { 19 | this.selected = selected; 20 | if (selected) { 21 | lbText.setFont(new java.awt.Font("sansserif", 1, 14)); 22 | lbText.setForeground(Color.WHITE); 23 | lbIcon.setIcon(data.toIconSelected()); 24 | } else { 25 | lbText.setFont(new java.awt.Font("sansserif", 0, 14)); 26 | lbText.setForeground(new Color(204, 204, 204)); 27 | lbIcon.setIcon(data.toIcon()); 28 | } 29 | } 30 | 31 | public ItemMenu(Model_Menu data) { 32 | this.data = data; 33 | initComponents(); 34 | setOpaque(false); 35 | lbIcon.setIcon(data.toIcon()); 36 | lbText.setText(data.getMenuName()); 37 | } 38 | 39 | @SuppressWarnings("unchecked") 40 | // //GEN-BEGIN:initComponents 41 | private void initComponents() { 42 | 43 | lbIcon = new javax.swing.JLabel(); 44 | lbText = new javax.swing.JLabel(); 45 | 46 | lbIcon.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 47 | lbIcon.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/albums_selected.png"))); // NOI18N 48 | 49 | lbText.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N 50 | lbText.setForeground(new java.awt.Color(255, 255, 255)); 51 | lbText.setText("Item Name"); 52 | 53 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 54 | this.setLayout(layout); 55 | layout.setHorizontalGroup( 56 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 57 | .addGroup(layout.createSequentialGroup() 58 | .addGap(30, 30, 30) 59 | .addComponent(lbIcon, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 60 | .addGap(15, 15, 15) 61 | .addComponent(lbText) 62 | .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 63 | ); 64 | layout.setVerticalGroup( 65 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 66 | .addComponent(lbIcon, javax.swing.GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE) 67 | .addComponent(lbText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 68 | ); 69 | }// //GEN-END:initComponents 70 | 71 | @Override 72 | protected void paintComponent(Graphics grphcs) { 73 | if (selected) { 74 | Graphics2D g2 = (Graphics2D) grphcs; 75 | g2.setColor(Color.WHITE); 76 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 77 | g2.fillRect(0, 0, 2, getHeight()); 78 | } 79 | super.paintComponent(grphcs); 80 | } 81 | 82 | // Variables declaration - do not modify//GEN-BEGIN:variables 83 | private javax.swing.JLabel lbIcon; 84 | private javax.swing.JLabel lbText; 85 | // End of variables declaration//GEN-END:variables 86 | } 87 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemMusic.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemMusic.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Music; 4 | import java.awt.Color; 5 | import java.awt.Graphics; 6 | import java.awt.Graphics2D; 7 | import java.awt.RenderingHints; 8 | import javax.swing.ImageIcon; 9 | 10 | public class ItemMusic extends javax.swing.JPanel { 11 | 12 | public boolean isPlay() { 13 | return play; 14 | } 15 | 16 | private final Model_Music data; 17 | private boolean play; 18 | 19 | public void setPlay(boolean play) { 20 | this.play = play; 21 | if (play) { 22 | lbIcon.setText(""); 23 | lbIcon.setIcon(new ImageIcon(getClass().getResource("/com/raven/icon/playing.png"))); 24 | lbText.setFont(new java.awt.Font("sansserif", 1, 14)); 25 | lbText.setForeground(new Color(203, 30, 148)); 26 | lbTime.setFont(new java.awt.Font("sansserif", 1, 14)); 27 | lbTime.setForeground(new Color(203, 30, 148)); 28 | } else { 29 | lbIcon.setIcon(null); 30 | lbIcon.setText(data.getNo()); 31 | lbText.setFont(new java.awt.Font("sansserif", 0, 14)); 32 | lbText.setForeground(new Color(51, 51, 51)); 33 | lbTime.setFont(new java.awt.Font("sansserif", 0, 14)); 34 | lbTime.setForeground(new Color(51, 51, 51)); 35 | } 36 | } 37 | 38 | public ItemMusic(Model_Music data) { 39 | this.data = data; 40 | initComponents(); 41 | setOpaque(false); 42 | lbText.setText(data.getName()); 43 | lbTime.setText(data.getTime()); 44 | } 45 | 46 | @SuppressWarnings("unchecked") 47 | // //GEN-BEGIN:initComponents 48 | private void initComponents() { 49 | 50 | lbIcon = new javax.swing.JLabel(); 51 | lbText = new javax.swing.JLabel(); 52 | lbTime = new javax.swing.JLabel(); 53 | 54 | lbIcon.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 55 | 56 | lbText.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N 57 | lbText.setForeground(new java.awt.Color(51, 51, 51)); 58 | lbText.setText("Music Name"); 59 | 60 | lbTime.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N 61 | lbTime.setForeground(new java.awt.Color(51, 51, 51)); 62 | lbTime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 63 | lbTime.setText("03:00"); 64 | 65 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 66 | this.setLayout(layout); 67 | layout.setHorizontalGroup( 68 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 69 | .addGroup(layout.createSequentialGroup() 70 | .addContainerGap() 71 | .addComponent(lbIcon, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) 72 | .addGap(15, 15, 15) 73 | .addComponent(lbText) 74 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 75 | .addComponent(lbTime, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) 76 | .addContainerGap()) 77 | ); 78 | layout.setVerticalGroup( 79 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 80 | .addComponent(lbIcon, javax.swing.GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE) 81 | .addComponent(lbTime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 82 | .addComponent(lbText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 83 | ); 84 | }// //GEN-END:initComponents 85 | 86 | @Override 87 | protected void paintComponent(Graphics grphcs) { 88 | Graphics2D g2 = (Graphics2D) grphcs; 89 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 90 | g2.setColor(new Color(246, 246, 246)); 91 | g2.fillRect(0, getHeight() - 2, getWidth(), getHeight()); 92 | super.paintComponent(grphcs); 93 | } 94 | 95 | // Variables declaration - do not modify//GEN-BEGIN:variables 96 | private javax.swing.JLabel lbIcon; 97 | private javax.swing.JLabel lbText; 98 | private javax.swing.JLabel lbTime; 99 | // End of variables declaration//GEN-END:variables 100 | } 101 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemProfile.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ItemProfile.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Profile; 4 | 5 | public class ItemProfile extends javax.swing.JPanel { 6 | 7 | public Model_Profile getData() { 8 | return data; 9 | } 10 | 11 | private final Model_Profile data; 12 | 13 | public ItemProfile(Model_Profile data) { 14 | this.data = data; 15 | initComponents(); 16 | setOpaque(false); 17 | lbName.setText(data.getName()); 18 | lbDescription.setText(data.getDescription()); 19 | if (data.getImage() != null) { 20 | imageAvatar.setImage(data.getImage()); 21 | } 22 | } 23 | 24 | @SuppressWarnings("unchecked") 25 | // //GEN-BEGIN:initComponents 26 | private void initComponents() { 27 | 28 | jPanel1 = new javax.swing.JPanel(); 29 | lbName = new javax.swing.JLabel(); 30 | lbDescription = new javax.swing.JLabel(); 31 | imageAvatar = new com.raven.swing.ImageAvatar(); 32 | 33 | jPanel1.setOpaque(false); 34 | jPanel1.setLayout(new java.awt.GridLayout(2, 1)); 35 | 36 | lbName.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N 37 | lbName.setForeground(new java.awt.Color(51, 51, 51)); 38 | lbName.setText("Name"); 39 | jPanel1.add(lbName); 40 | 41 | lbDescription.setForeground(new java.awt.Color(115, 115, 115)); 42 | lbDescription.setText("Description"); 43 | jPanel1.add(lbDescription); 44 | 45 | imageAvatar.setBorderSize(0); 46 | 47 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 48 | this.setLayout(layout); 49 | layout.setHorizontalGroup( 50 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 51 | .addGroup(layout.createSequentialGroup() 52 | .addContainerGap() 53 | .addComponent(imageAvatar, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) 54 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 55 | .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)) 56 | ); 57 | layout.setVerticalGroup( 58 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 59 | .addGroup(layout.createSequentialGroup() 60 | .addContainerGap() 61 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 62 | .addGroup(layout.createSequentialGroup() 63 | .addGap(0, 0, Short.MAX_VALUE) 64 | .addComponent(imageAvatar, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)) 65 | .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 66 | .addContainerGap()) 67 | ); 68 | }// //GEN-END:initComponents 69 | 70 | // Variables declaration - do not modify//GEN-BEGIN:variables 71 | private com.raven.swing.ImageAvatar imageAvatar; 72 | private javax.swing.JPanel jPanel1; 73 | private javax.swing.JLabel lbDescription; 74 | private javax.swing.JLabel lbName; 75 | // End of variables declaration//GEN-END:variables 76 | } 77 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ListMenu.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Menu; 4 | import java.awt.Component; 5 | import javax.swing.DefaultListCellRenderer; 6 | import javax.swing.DefaultListModel; 7 | import javax.swing.JList; 8 | import javax.swing.ListCellRenderer; 9 | 10 | public class ListMenu extends JList { 11 | 12 | private final DefaultListModel model; 13 | 14 | public ListMenu() { 15 | model = new DefaultListModel(); 16 | setModel(model); 17 | setOpaque(false); 18 | } 19 | 20 | @Override 21 | public ListCellRenderer getCellRenderer() { 22 | return new DefaultListCellRenderer() { 23 | @Override 24 | public Component getListCellRendererComponent(JList jlist, Object o, int index, boolean selected, boolean focus) { 25 | Model_Menu data; 26 | if (o instanceof Model_Menu) { 27 | data = (Model_Menu) o; 28 | } else { 29 | data = new Model_Menu("No Data", "song"); 30 | } 31 | ItemMenu item = new ItemMenu(data); 32 | item.setSelected(selected); 33 | return item; 34 | } 35 | }; 36 | } 37 | 38 | public void addItem(Model_Menu data) { 39 | model.addElement(data); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ListMusic.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Music; 4 | import java.awt.Component; 5 | import java.awt.event.MouseAdapter; 6 | import java.awt.event.MouseEvent; 7 | import javax.swing.DefaultListCellRenderer; 8 | import javax.swing.DefaultListModel; 9 | import javax.swing.JList; 10 | import javax.swing.ListCellRenderer; 11 | import javax.swing.SwingUtilities; 12 | 13 | public class ListMusic extends JList { 14 | 15 | private final DefaultListModel model; 16 | private int playIndex = -1; 17 | 18 | public ListMusic() { 19 | model = new DefaultListModel(); 20 | setModel(model); 21 | setOpaque(false); 22 | addMouseListener(new MouseAdapter() { 23 | @Override 24 | public void mouseClicked(MouseEvent me) { 25 | if (SwingUtilities.isLeftMouseButton(me)) { 26 | playIndex = locationToIndex(me.getPoint()); 27 | repaint(); 28 | } 29 | } 30 | }); 31 | } 32 | 33 | @Override 34 | public ListCellRenderer getCellRenderer() { 35 | return new DefaultListCellRenderer() { 36 | @Override 37 | public Component getListCellRendererComponent(JList jlist, Object o, int index, boolean selected, boolean focus) { 38 | Model_Music data; 39 | if (o instanceof Model_Music) { 40 | data = (Model_Music) o; 41 | } else { 42 | data = new Model_Music("1", "No Music", "00:00"); 43 | } 44 | ItemMusic item = new ItemMusic(data); 45 | item.setPlay(index == playIndex); 46 | return item; 47 | } 48 | }; 49 | } 50 | 51 | public void addItem(Model_Music data) { 52 | model.addElement(data); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/ListProfile.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Profile; 4 | import java.awt.Component; 5 | import javax.swing.DefaultListCellRenderer; 6 | import javax.swing.DefaultListModel; 7 | import javax.swing.ImageIcon; 8 | import javax.swing.JList; 9 | import javax.swing.ListCellRenderer; 10 | 11 | public class ListProfile extends JList { 12 | 13 | private final DefaultListModel model; 14 | 15 | public ListProfile() { 16 | model = new DefaultListModel(); 17 | setModel(model); 18 | setOpaque(false); 19 | } 20 | 21 | @Override 22 | public ListCellRenderer getCellRenderer() { 23 | return new DefaultListCellRenderer() { 24 | @Override 25 | public Component getListCellRendererComponent(JList jlist, Object o, int index, boolean selected, boolean focus) { 26 | Model_Profile data; 27 | if (o instanceof Model_Profile) { 28 | data = (Model_Profile) o; 29 | } else { 30 | data = new Model_Profile("Name", "Description", new ImageIcon(getClass().getResource("/com/raven/icon/artists_selected.png"))); 31 | } 32 | ItemProfile item = new ItemProfile(data); 33 | return item; 34 | } 35 | }; 36 | } 37 | 38 | public void addItem(Model_Profile data) { 39 | model.addElement(data); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Menu.form: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Menu.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import java.awt.Color; 4 | import java.awt.GradientPaint; 5 | import java.awt.Graphics; 6 | import java.awt.Graphics2D; 7 | import java.awt.RenderingHints; 8 | 9 | public class Menu extends javax.swing.JPanel { 10 | 11 | public Menu() { 12 | initComponents(); 13 | setOpaque(false); 14 | } 15 | 16 | @SuppressWarnings("unchecked") 17 | // //GEN-BEGIN:initComponents 18 | private void initComponents() { 19 | 20 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 21 | this.setLayout(layout); 22 | layout.setHorizontalGroup( 23 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 24 | .addGap(0, 188, Short.MAX_VALUE) 25 | ); 26 | layout.setVerticalGroup( 27 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 28 | .addGap(0, 178, Short.MAX_VALUE) 29 | ); 30 | }// //GEN-END:initComponents 31 | 32 | @Override 33 | protected void paintComponent(Graphics grphcs) { 34 | Graphics2D g2 = (Graphics2D) grphcs; 35 | g2.setColor(getBackground()); 36 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 37 | GradientPaint gp = new GradientPaint(0, 0, Color.decode("#4568dc"), 0, getHeight(), Color.decode("#b06ab3")); 38 | g2.setPaint(gp); 39 | g2.fillRoundRect(0, 0, getWidth(), getHeight(), 20, 20); 40 | g2.fillRect(getWidth() - 25, 0, getWidth(), getHeight()); 41 | g2.fillRect(0, getHeight() - 25, getWidth(), getHeight()); 42 | super.paintComponent(grphcs); 43 | } 44 | 45 | // Variables declaration - do not modify//GEN-BEGIN:variables 46 | // End of variables declaration//GEN-END:variables 47 | } 48 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/MostPopular.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
69 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/MostPopular.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Popular; 4 | 5 | public class MostPopular extends javax.swing.JLayeredPane { 6 | 7 | public MostPopular() { 8 | initComponents(); 9 | } 10 | 11 | @SuppressWarnings("unchecked") 12 | // //GEN-BEGIN:initComponents 13 | private void initComponents() { 14 | 15 | sp = new javax.swing.JScrollPane(); 16 | panel = new javax.swing.JPanel(); 17 | scrollBar1 = new com.raven.swing.ScrollBar(); 18 | 19 | sp.setBorder(null); 20 | sp.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); 21 | sp.setHorizontalScrollBar(scrollBar1); 22 | 23 | panel.setBackground(new java.awt.Color(255, 255, 255)); 24 | sp.setViewportView(panel); 25 | 26 | scrollBar1.setOrientation(javax.swing.JScrollBar.HORIZONTAL); 27 | 28 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 29 | this.setLayout(layout); 30 | layout.setHorizontalGroup( 31 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 32 | .addComponent(sp) 33 | .addGroup(layout.createSequentialGroup() 34 | .addContainerGap(100, Short.MAX_VALUE) 35 | .addComponent(scrollBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE) 36 | .addContainerGap(100, Short.MAX_VALUE)) 37 | ); 38 | layout.setVerticalGroup( 39 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 40 | .addGroup(layout.createSequentialGroup() 41 | .addComponent(sp, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) 42 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 43 | .addComponent(scrollBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 44 | ); 45 | }// //GEN-END:initComponents 46 | 47 | public void addImage(Model_Popular data) { 48 | ItemImage item = new ItemImage(); 49 | item.setData(data); 50 | panel.add(item); 51 | panel.repaint(); 52 | panel.revalidate(); 53 | } 54 | 55 | 56 | // Variables declaration - do not modify//GEN-BEGIN:variables 57 | private javax.swing.JPanel panel; 58 | private com.raven.swing.ScrollBar scrollBar1; 59 | private javax.swing.JScrollPane sp; 60 | // End of variables declaration//GEN-END:variables 61 | } 62 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Music.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Music.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Music; 4 | 5 | public class Music extends javax.swing.JPanel { 6 | 7 | public Music() { 8 | initComponents(); 9 | init(); 10 | } 11 | 12 | private void init() { 13 | list.addItem(new Model_Music("1", "Peace Of Mind (feat. Vargas & Lagola)", "03:00")); 14 | list.addItem(new Model_Music("2", "Heaven", "04:37")); 15 | list.addItem(new Model_Music("3", "SOS (feat. Aloe Blacc)", "02:37")); 16 | list.addItem(new Model_Music("4", "Bad Reputation (feat. Joe Janiak)", "03:25")); 17 | list.addItem(new Model_Music("5", "Ain't A Thing", "03:03")); 18 | list.addItem(new Model_Music("6", "Hold The line (feat. A R I Z O N A)", "02:51")); 19 | list.addItem(new Model_Music("7", "Freak (feat. Bonn)", "02:59")); 20 | list.addItem(new Model_Music("8", "Excuse me Mr Sir (feat. Vargas & Lagola)", "03:07")); 21 | list.addItem(new Model_Music("9", "Heart Upon My Sleeve (feat. Imagine Dragons)", "04:14")); 22 | list.addItem(new Model_Music("10", "Never Leave Me (feat. Joe Janiak)", "02:51")); 23 | list.addItem(new Model_Music("11", "Fades Away (feat. Noonie Bao)", "02:58")); 24 | list.addItem(new Model_Music("12", "Wake Me Up", "04:07")); 25 | list.addItem(new Model_Music("13", "You Make Me", "03:53")); 26 | list.addItem(new Model_Music("14", "Hey Brother", "04:15")); 27 | list.addItem(new Model_Music("15", "Addicted To You", "02:28")); 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | // //GEN-BEGIN:initComponents 32 | private void initComponents() { 33 | 34 | jLabel1 = new javax.swing.JLabel(); 35 | list = new com.raven.component.ListMusic<>(); 36 | 37 | setBackground(new java.awt.Color(255, 255, 255)); 38 | 39 | jLabel1.setFont(new java.awt.Font("sansserif", 0, 20)); // NOI18N 40 | jLabel1.setForeground(new java.awt.Color(51, 51, 51)); 41 | jLabel1.setText("Most Trending Music"); 42 | 43 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 44 | this.setLayout(layout); 45 | layout.setHorizontalGroup( 46 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 47 | .addGroup(layout.createSequentialGroup() 48 | .addContainerGap() 49 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 50 | .addComponent(jLabel1) 51 | .addComponent(list, javax.swing.GroupLayout.DEFAULT_SIZE, 285, Short.MAX_VALUE)) 52 | .addContainerGap()) 53 | ); 54 | layout.setVerticalGroup( 55 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 56 | .addGroup(layout.createSequentialGroup() 57 | .addContainerGap() 58 | .addComponent(jLabel1) 59 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 60 | .addComponent(list, javax.swing.GroupLayout.DEFAULT_SIZE, 320, Short.MAX_VALUE) 61 | .addGap(0, 0, 0)) 62 | ); 63 | }// //GEN-END:initComponents 64 | 65 | 66 | // Variables declaration - do not modify//GEN-BEGIN:variables 67 | private javax.swing.JLabel jLabel1; 68 | private com.raven.component.ListMusic list; 69 | // End of variables declaration//GEN-END:variables 70 | } 71 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Play.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
91 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Play.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | public class Play extends javax.swing.JPanel { 4 | 5 | public Play() { 6 | initComponents(); 7 | } 8 | 9 | @SuppressWarnings("unchecked") 10 | // //GEN-BEGIN:initComponents 11 | private void initComponents() { 12 | 13 | jButton1 = new javax.swing.JButton(); 14 | jButton2 = new javax.swing.JButton(); 15 | jButton3 = new javax.swing.JButton(); 16 | jButton4 = new javax.swing.JButton(); 17 | 18 | setOpaque(false); 19 | 20 | jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/back.png"))); // NOI18N 21 | jButton1.setContentAreaFilled(false); 22 | jButton1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 23 | 24 | jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/playing.png"))); // NOI18N 25 | jButton2.setContentAreaFilled(false); 26 | jButton2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 27 | 28 | jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/next.png"))); // NOI18N 29 | jButton3.setContentAreaFilled(false); 30 | jButton3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 31 | 32 | jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/raven/icon/play.png"))); // NOI18N 33 | jButton4.setContentAreaFilled(false); 34 | jButton4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); 35 | 36 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 37 | this.setLayout(layout); 38 | layout.setHorizontalGroup( 39 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 40 | .addGroup(layout.createSequentialGroup() 41 | .addGap(40, 40, 40) 42 | .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 43 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 44 | .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 45 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 46 | .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 47 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 48 | .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) 49 | .addContainerGap(22, Short.MAX_VALUE)) 50 | ); 51 | layout.setVerticalGroup( 52 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 53 | .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 54 | .addComponent(jButton2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE) 55 | .addComponent(jButton3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 56 | .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 57 | ); 58 | }// //GEN-END:initComponents 59 | 60 | 61 | // Variables declaration - do not modify//GEN-BEGIN:variables 62 | private javax.swing.JButton jButton1; 63 | private javax.swing.JButton jButton2; 64 | private javax.swing.JButton jButton3; 65 | private javax.swing.JButton jButton4; 66 | // End of variables declaration//GEN-END:variables 67 | } 68 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Profile.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/component/Profile.java: -------------------------------------------------------------------------------- 1 | package com.raven.component; 2 | 3 | import com.raven.model.Model_Profile; 4 | import javax.swing.ImageIcon; 5 | 6 | public class Profile extends javax.swing.JPanel { 7 | 8 | public Profile() { 9 | initComponents(); 10 | init(); 11 | } 12 | 13 | private void init() { 14 | list.addItem(new Model_Profile("Avicii", "Tim", new ImageIcon(getClass().getResource("/com/raven/icon/test/avicii_pro.jpg")))); 15 | list.addItem(new Model_Profile("Kygo", "Kygo", new ImageIcon(getClass().getResource("/com/raven/icon/test/kygo_pro.jpg")))); 16 | list.addItem(new Model_Profile("Sigala", "Sigala", new ImageIcon(getClass().getResource("/com/raven/icon/test/sigala_pro.jpg")))); 17 | } 18 | 19 | @SuppressWarnings("unchecked") 20 | // //GEN-BEGIN:initComponents 21 | private void initComponents() { 22 | 23 | jLabel1 = new javax.swing.JLabel(); 24 | list = new com.raven.component.ListProfile<>(); 25 | 26 | setBackground(new java.awt.Color(255, 255, 255)); 27 | 28 | jLabel1.setFont(new java.awt.Font("sansserif", 0, 20)); // NOI18N 29 | jLabel1.setForeground(new java.awt.Color(51, 51, 51)); 30 | jLabel1.setText("Listen this weekend"); 31 | 32 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 33 | this.setLayout(layout); 34 | layout.setHorizontalGroup( 35 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 36 | .addGroup(layout.createSequentialGroup() 37 | .addContainerGap() 38 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 39 | .addGroup(layout.createSequentialGroup() 40 | .addComponent(jLabel1) 41 | .addGap(0, 115, Short.MAX_VALUE)) 42 | .addComponent(list, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 43 | .addContainerGap()) 44 | ); 45 | layout.setVerticalGroup( 46 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 47 | .addGroup(layout.createSequentialGroup() 48 | .addContainerGap() 49 | .addComponent(jLabel1) 50 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 51 | .addComponent(list, javax.swing.GroupLayout.DEFAULT_SIZE, 286, Short.MAX_VALUE) 52 | .addContainerGap()) 53 | ); 54 | }// //GEN-END:initComponents 55 | 56 | 57 | // Variables declaration - do not modify//GEN-BEGIN:variables 58 | private javax.swing.JLabel jLabel1; 59 | private com.raven.component.ListProfile list; 60 | // End of variables declaration//GEN-END:variables 61 | } 62 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/form/Form_Artists.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/form/Form_Artists.java: -------------------------------------------------------------------------------- 1 | package com.raven.form; 2 | 3 | import com.raven.model.Model_Popular; 4 | import javax.swing.ImageIcon; 5 | 6 | public class Form_Artists extends javax.swing.JPanel { 7 | 8 | public Form_Artists() { 9 | initComponents(); 10 | init(); 11 | } 12 | 13 | private void init() { 14 | mostPopular.addImage(new Model_Popular(new ImageIcon(getClass().getResource("/com/raven/icon/test/avicii.png")), "Avicii True Stories", "15 Albums | 17.5M Follower")); 15 | mostPopular.addImage(new Model_Popular(new ImageIcon(getClass().getResource("/com/raven/icon/test/kygo.png")), "Kygo and Alan Walker", "15 Albums | 17.5M Mollowers")); 16 | mostPopular.addImage(new Model_Popular(new ImageIcon(getClass().getResource("/com/raven/icon/test/ed-sheeran.jpg")), "Ed Sheeran", "15 Albums | 17.5M Mollowers")); 17 | mostPopular.addImage(new Model_Popular(new ImageIcon(getClass().getResource("/com/raven/icon/test/sigala.jpg")), "Sigala", "15 Albums | 17.5M Mollowers")); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | // //GEN-BEGIN:initComponents 22 | private void initComponents() { 23 | 24 | jLabel1 = new javax.swing.JLabel(); 25 | jLabel2 = new javax.swing.JLabel(); 26 | mostPopular = new com.raven.component.MostPopular(); 27 | music1 = new com.raven.component.Music(); 28 | profile1 = new com.raven.component.Profile(); 29 | 30 | setBackground(new java.awt.Color(255, 255, 255)); 31 | 32 | jLabel1.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N 33 | jLabel1.setForeground(new java.awt.Color(169, 29, 177)); 34 | jLabel1.setText("Artists"); 35 | 36 | jLabel2.setFont(new java.awt.Font("sansserif", 1, 18)); // NOI18N 37 | jLabel2.setForeground(new java.awt.Color(80, 80, 80)); 38 | jLabel2.setText("Most popular"); 39 | 40 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 41 | this.setLayout(layout); 42 | layout.setHorizontalGroup( 43 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 44 | .addGroup(layout.createSequentialGroup() 45 | .addGap(25, 25, 25) 46 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 47 | .addComponent(jLabel2) 48 | .addComponent(jLabel1) 49 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) 50 | .addGroup(layout.createSequentialGroup() 51 | .addComponent(music1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 52 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 53 | .addComponent(profile1, javax.swing.GroupLayout.PREFERRED_SIZE, 353, javax.swing.GroupLayout.PREFERRED_SIZE)) 54 | .addComponent(mostPopular, javax.swing.GroupLayout.PREFERRED_SIZE, 950, javax.swing.GroupLayout.PREFERRED_SIZE))) 55 | .addGap(25, 25, 25)) 56 | ); 57 | layout.setVerticalGroup( 58 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 59 | .addGroup(layout.createSequentialGroup() 60 | .addGap(25, 25, 25) 61 | .addComponent(jLabel1) 62 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 63 | .addComponent(jLabel2) 64 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 65 | .addComponent(mostPopular, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 66 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 67 | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 68 | .addComponent(music1, javax.swing.GroupLayout.PREFERRED_SIZE, 558, Short.MAX_VALUE) 69 | .addGroup(layout.createSequentialGroup() 70 | .addComponent(profile1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 71 | .addGap(0, 0, Short.MAX_VALUE))) 72 | .addContainerGap()) 73 | ); 74 | }// //GEN-END:initComponents 75 | 76 | // Variables declaration - do not modify//GEN-BEGIN:variables 77 | private javax.swing.JLabel jLabel1; 78 | private javax.swing.JLabel jLabel2; 79 | private com.raven.component.MostPopular mostPopular; 80 | private com.raven.component.Music music1; 81 | private com.raven.component.Profile profile1; 82 | // End of variables declaration//GEN-END:variables 83 | } 84 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/albums.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/albums.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/albums_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/albums_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/artists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/artists.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/artists_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/artists_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/back.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/browse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/browse.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/browse_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/browse_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/love.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/love.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/love_bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/love_bot.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/love_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/love_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/next.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/play.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/playing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/playing.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/playlist.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/playlist_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/playlist_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/radio.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/radio_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/radio_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/repeat.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/song.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/song.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/song_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/song_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/speaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/speaker.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/store.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/store_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/store_selected.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/avicii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/avicii.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/avicii_pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/avicii_pro.jpg -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/ed-sheeran.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/ed-sheeran.jpg -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/kygo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/kygo.png -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/kygo_pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/kygo_pro.jpg -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/sigala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/sigala.jpg -------------------------------------------------------------------------------- /music-ui/src/com/raven/icon/test/sigala_pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DJ-Raven/java-ui-music-player/2f0b67d6514118879964e85237c449b6509b8931/music-ui/src/com/raven/icon/test/sigala_pro.jpg -------------------------------------------------------------------------------- /music-ui/src/com/raven/main/Main.form: -------------------------------------------------------------------------------- 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 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/main/Main.java: -------------------------------------------------------------------------------- 1 | package com.raven.main; 2 | 3 | import com.raven.model.Model_Menu; 4 | import com.raven.swing.ScrollBar; 5 | import java.awt.Color; 6 | 7 | public class Main extends javax.swing.JFrame { 8 | 9 | public Main() { 10 | initComponents(); 11 | init(); 12 | } 13 | 14 | private void init() { 15 | sp.setVerticalScrollBar(new ScrollBar()); 16 | setBackground(new Color(0, 0, 0, 0)); // Remove background color 17 | list1.addItem(new Model_Menu("Playlist", "playlist")); 18 | list1.addItem(new Model_Menu("Artists", "artists")); 19 | list1.addItem(new Model_Menu("Albums", "albums")); 20 | list1.addItem(new Model_Menu("Songs", "song")); 21 | 22 | list2.addItem(new Model_Menu("Store", "store")); 23 | list2.addItem(new Model_Menu("Radio", "radio")); 24 | list2.addItem(new Model_Menu("For You", "love")); 25 | list2.addItem(new Model_Menu("Browse", "browse")); 26 | } 27 | 28 | @SuppressWarnings("unchecked") 29 | // //GEN-BEGIN:initComponents 30 | private void initComponents() { 31 | 32 | panel1 = new com.raven.swing.Panel(); 33 | menu1 = new com.raven.component.Menu(); 34 | list1 = new com.raven.component.ListMenu<>(); 35 | jLabel1 = new javax.swing.JLabel(); 36 | list2 = new com.raven.component.ListMenu<>(); 37 | jLabel2 = new javax.swing.JLabel(); 38 | panelMoving = new javax.swing.JPanel(); 39 | sp = new javax.swing.JScrollPane(); 40 | form_Artists1 = new com.raven.form.Form_Artists(); 41 | bottom1 = new com.raven.component.Bottom(); 42 | 43 | setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 44 | setUndecorated(true); 45 | 46 | panel1.setBackground(new java.awt.Color(255, 255, 255)); 47 | 48 | list1.addMouseListener(new java.awt.event.MouseAdapter() { 49 | public void mousePressed(java.awt.event.MouseEvent evt) { 50 | list1MousePressed(evt); 51 | } 52 | }); 53 | 54 | jLabel1.setFont(new java.awt.Font("sansserif", 0, 15)); // NOI18N 55 | jLabel1.setForeground(new java.awt.Color(229, 229, 229)); 56 | jLabel1.setText("LIBRARY"); 57 | jLabel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 50, 1, 1)); 58 | 59 | list2.addMouseListener(new java.awt.event.MouseAdapter() { 60 | public void mousePressed(java.awt.event.MouseEvent evt) { 61 | list2MousePressed(evt); 62 | } 63 | }); 64 | 65 | jLabel2.setFont(new java.awt.Font("sansserif", 0, 15)); // NOI18N 66 | jLabel2.setForeground(new java.awt.Color(229, 229, 229)); 67 | jLabel2.setText("DISCOVER"); 68 | jLabel2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 50, 1, 1)); 69 | 70 | panelMoving.setOpaque(false); 71 | panelMoving.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { 72 | public void mouseDragged(java.awt.event.MouseEvent evt) { 73 | panelMovingMouseDragged(evt); 74 | } 75 | }); 76 | panelMoving.addMouseListener(new java.awt.event.MouseAdapter() { 77 | public void mousePressed(java.awt.event.MouseEvent evt) { 78 | panelMovingMousePressed(evt); 79 | } 80 | }); 81 | 82 | javax.swing.GroupLayout panelMovingLayout = new javax.swing.GroupLayout(panelMoving); 83 | panelMoving.setLayout(panelMovingLayout); 84 | panelMovingLayout.setHorizontalGroup( 85 | panelMovingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 86 | .addGap(0, 0, Short.MAX_VALUE) 87 | ); 88 | panelMovingLayout.setVerticalGroup( 89 | panelMovingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 90 | .addGap(0, 40, Short.MAX_VALUE) 91 | ); 92 | 93 | javax.swing.GroupLayout menu1Layout = new javax.swing.GroupLayout(menu1); 94 | menu1.setLayout(menu1Layout); 95 | menu1Layout.setHorizontalGroup( 96 | menu1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 97 | .addComponent(list1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 98 | .addComponent(list2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 99 | .addGroup(menu1Layout.createSequentialGroup() 100 | .addContainerGap() 101 | .addGroup(menu1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 102 | .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 103 | .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 233, Short.MAX_VALUE)) 104 | .addContainerGap()) 105 | .addComponent(panelMoving, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 106 | ); 107 | menu1Layout.setVerticalGroup( 108 | menu1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 109 | .addGroup(menu1Layout.createSequentialGroup() 110 | .addComponent(panelMoving, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 111 | .addGap(20, 20, 20) 112 | .addComponent(jLabel1) 113 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 114 | .addComponent(list1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) 115 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 116 | .addComponent(jLabel2) 117 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 118 | .addComponent(list2, javax.swing.GroupLayout.DEFAULT_SIZE, 293, Short.MAX_VALUE) 119 | .addContainerGap()) 120 | ); 121 | 122 | sp.setBorder(null); 123 | sp.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); 124 | sp.setViewportView(form_Artists1); 125 | 126 | javax.swing.GroupLayout panel1Layout = new javax.swing.GroupLayout(panel1); 127 | panel1.setLayout(panel1Layout); 128 | panel1Layout.setHorizontalGroup( 129 | panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 130 | .addGroup(panel1Layout.createSequentialGroup() 131 | .addComponent(menu1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 132 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 133 | .addComponent(sp, javax.swing.GroupLayout.DEFAULT_SIZE, 1003, Short.MAX_VALUE) 134 | .addContainerGap()) 135 | ); 136 | panel1Layout.setVerticalGroup( 137 | panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 138 | .addComponent(menu1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 139 | .addGroup(panel1Layout.createSequentialGroup() 140 | .addContainerGap() 141 | .addComponent(sp, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) 142 | .addContainerGap()) 143 | ); 144 | 145 | javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 146 | getContentPane().setLayout(layout); 147 | layout.setHorizontalGroup( 148 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 149 | .addComponent(panel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 150 | .addComponent(bottom1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 151 | ); 152 | layout.setVerticalGroup( 153 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 154 | .addGroup(layout.createSequentialGroup() 155 | .addComponent(panel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 156 | .addGap(0, 0, 0) 157 | .addComponent(bottom1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 158 | ); 159 | 160 | pack(); 161 | setLocationRelativeTo(null); 162 | }// //GEN-END:initComponents 163 | 164 | private void list1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_list1MousePressed 165 | list2.clearSelection(); 166 | }//GEN-LAST:event_list1MousePressed 167 | 168 | private void list2MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_list2MousePressed 169 | list1.clearSelection(); 170 | }//GEN-LAST:event_list2MousePressed 171 | private int x; 172 | private int y; 173 | private void panelMovingMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_panelMovingMousePressed 174 | x = evt.getX(); 175 | y = evt.getY(); 176 | }//GEN-LAST:event_panelMovingMousePressed 177 | 178 | private void panelMovingMouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_panelMovingMouseDragged 179 | setLocation(evt.getXOnScreen() - x, evt.getYOnScreen() - y); 180 | }//GEN-LAST:event_panelMovingMouseDragged 181 | 182 | public static void main(String args[]) { 183 | /* Set the Nimbus look and feel */ 184 | // 185 | /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 186 | * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 187 | */ 188 | try { 189 | for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 190 | if ("Nimbus".equals(info.getName())) { 191 | javax.swing.UIManager.setLookAndFeel(info.getClassName()); 192 | break; 193 | } 194 | } 195 | } catch (ClassNotFoundException ex) { 196 | java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 197 | } catch (InstantiationException ex) { 198 | java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 199 | } catch (IllegalAccessException ex) { 200 | java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 201 | } catch (javax.swing.UnsupportedLookAndFeelException ex) { 202 | java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 203 | } 204 | // 205 | 206 | /* Create and display the form */ 207 | java.awt.EventQueue.invokeLater(new Runnable() { 208 | public void run() { 209 | new Main().setVisible(true); 210 | } 211 | }); 212 | } 213 | 214 | // Variables declaration - do not modify//GEN-BEGIN:variables 215 | private com.raven.component.Bottom bottom1; 216 | private com.raven.form.Form_Artists form_Artists1; 217 | private javax.swing.JLabel jLabel1; 218 | private javax.swing.JLabel jLabel2; 219 | private com.raven.component.ListMenu list1; 220 | private com.raven.component.ListMenu list2; 221 | private com.raven.component.Menu menu1; 222 | private com.raven.swing.Panel panel1; 223 | private javax.swing.JPanel panelMoving; 224 | private javax.swing.JScrollPane sp; 225 | // End of variables declaration//GEN-END:variables 226 | } 227 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/model/Model_Menu.java: -------------------------------------------------------------------------------- 1 | package com.raven.model; 2 | 3 | import javax.swing.Icon; 4 | import javax.swing.ImageIcon; 5 | 6 | public class Model_Menu { 7 | 8 | public String getMenuName() { 9 | return menuName; 10 | } 11 | 12 | public void setMenuName(String menuName) { 13 | this.menuName = menuName; 14 | } 15 | 16 | public String getIcon() { 17 | return icon; 18 | } 19 | 20 | public void setIcon(String icon) { 21 | this.icon = icon; 22 | } 23 | 24 | public Model_Menu(String menuName, String icon) { 25 | this.menuName = menuName; 26 | this.icon = icon; 27 | } 28 | 29 | public Model_Menu() { 30 | } 31 | 32 | private String menuName; 33 | private String icon; 34 | 35 | public Icon toIcon() { 36 | return new ImageIcon(getClass().getResource("/com/raven/icon/" + icon + ".png")); 37 | } 38 | 39 | public Icon toIconSelected() { 40 | return new ImageIcon(getClass().getResource("/com/raven/icon/" + icon + "_selected.png")); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/model/Model_Music.java: -------------------------------------------------------------------------------- 1 | package com.raven.model; 2 | 3 | public class Model_Music { 4 | 5 | public String getNo() { 6 | return no; 7 | } 8 | 9 | public void setNo(String no) { 10 | this.no = no; 11 | } 12 | 13 | public String getName() { 14 | return name; 15 | } 16 | 17 | public void setName(String name) { 18 | this.name = name; 19 | } 20 | 21 | public String getTime() { 22 | return time; 23 | } 24 | 25 | public void setTime(String time) { 26 | this.time = time; 27 | } 28 | 29 | public Model_Music(String no, String name, String time) { 30 | this.no = no; 31 | this.name = name; 32 | this.time = time; 33 | } 34 | 35 | public Model_Music() { 36 | } 37 | 38 | private String no; 39 | private String name; 40 | private String time; 41 | } 42 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/model/Model_Popular.java: -------------------------------------------------------------------------------- 1 | package com.raven.model; 2 | 3 | import javax.swing.Icon; 4 | 5 | public class Model_Popular { 6 | 7 | public Icon getImage() { 8 | return image; 9 | } 10 | 11 | public void setImage(Icon image) { 12 | this.image = image; 13 | } 14 | 15 | public String getTitle() { 16 | return title; 17 | } 18 | 19 | public void setTitle(String title) { 20 | this.title = title; 21 | } 22 | 23 | public String getDescription() { 24 | return description; 25 | } 26 | 27 | public void setDescription(String description) { 28 | this.description = description; 29 | } 30 | 31 | public Model_Popular(Icon image, String title, String description) { 32 | this.image = image; 33 | this.title = title; 34 | this.description = description; 35 | } 36 | 37 | public Model_Popular() { 38 | } 39 | 40 | private Icon image; 41 | private String title; 42 | private String description; 43 | } 44 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/model/Model_Profile.java: -------------------------------------------------------------------------------- 1 | package com.raven.model; 2 | 3 | import javax.swing.Icon; 4 | 5 | public class Model_Profile { 6 | 7 | public String getName() { 8 | return name; 9 | } 10 | 11 | public void setName(String name) { 12 | this.name = name; 13 | } 14 | 15 | public String getDescription() { 16 | return description; 17 | } 18 | 19 | public void setDescription(String description) { 20 | this.description = description; 21 | } 22 | 23 | public Icon getImage() { 24 | return image; 25 | } 26 | 27 | public void setImage(Icon image) { 28 | this.image = image; 29 | } 30 | 31 | public Model_Profile(String name, String description, Icon image) { 32 | this.name = name; 33 | this.description = description; 34 | this.image = image; 35 | } 36 | 37 | public Model_Profile() { 38 | } 39 | 40 | private String name; 41 | private String description; 42 | private Icon image; 43 | } 44 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/swing/ImageAvatar.java: -------------------------------------------------------------------------------- 1 | package com.raven.swing; 2 | 3 | import java.awt.AlphaComposite; 4 | import java.awt.BasicStroke; 5 | import java.awt.Color; 6 | import java.awt.Dimension; 7 | import java.awt.Graphics; 8 | import java.awt.Graphics2D; 9 | import java.awt.Image; 10 | import java.awt.Point; 11 | import java.awt.Rectangle; 12 | import java.awt.RenderingHints; 13 | import java.awt.image.BufferedImage; 14 | import javax.swing.Icon; 15 | import javax.swing.ImageIcon; 16 | import javax.swing.JComponent; 17 | 18 | public class ImageAvatar extends JComponent { 19 | 20 | public Icon getImage() { 21 | return image; 22 | } 23 | 24 | public void setImage(Icon image) { 25 | this.image = image; 26 | } 27 | 28 | public int getBorderSize() { 29 | return borderSize; 30 | } 31 | 32 | public void setBorderSize(int borderSize) { 33 | this.borderSize = borderSize; 34 | } 35 | 36 | public Color getBorderColor() { 37 | return borderColor; 38 | } 39 | 40 | public void setBorderColor(Color borderColor) { 41 | this.borderColor = borderColor; 42 | } 43 | 44 | private Icon image; 45 | private int borderSize = 5; 46 | private Color borderColor = new Color(60, 60, 60); 47 | 48 | @Override 49 | public void paint(Graphics g) { 50 | if (image != null) { 51 | int width = image.getIconWidth(); 52 | int height = image.getIconHeight(); 53 | int diameter = Math.min(width, height); 54 | BufferedImage mask = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 55 | Graphics2D g2d = mask.createGraphics(); 56 | g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); // for image smooth 57 | g2d.fillOval(0, 0, diameter - 1, diameter - 1); 58 | g2d.dispose(); 59 | BufferedImage masked = new BufferedImage(diameter, diameter, BufferedImage.TYPE_INT_ARGB); 60 | g2d = masked.createGraphics(); 61 | g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); // for image smooth 62 | int x = (diameter - width) / 2; 63 | int y = (diameter - height) / 2; 64 | g2d.drawImage(toImage(image), x, y, null); 65 | g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_IN)); 66 | g2d.drawImage(mask, 0, 0, null); 67 | g2d.dispose(); 68 | Icon icon = new ImageIcon(masked); 69 | Rectangle size = getAutoSize(icon); 70 | Graphics2D g2 = (Graphics2D) g; 71 | g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 72 | g2.drawImage(toImage(icon), size.getLocation().x, size.getLocation().y, size.getSize().width, size.getSize().height, null); 73 | if (borderSize > 0) { 74 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 75 | g2.setColor(borderColor); 76 | g2.setStroke(new BasicStroke(borderSize)); 77 | g2.drawOval(size.x = (borderSize / 2), size.y + (borderSize / 2), size.width - borderSize, size.height - borderSize); 78 | } 79 | } 80 | super.paint(g); 81 | } 82 | 83 | private Rectangle getAutoSize(Icon image) { 84 | int w = getWidth(); 85 | int h = getHeight(); 86 | int iw = image.getIconWidth(); 87 | int ih = image.getIconHeight(); 88 | double xScale = (double) w / iw; 89 | double yScale = (double) h / ih; 90 | double scale = Math.max(xScale, yScale); 91 | int width = (int) (scale * iw); 92 | int height = (int) (scale * ih); 93 | int x = (w - width) / 2; 94 | int y = (h - height) / 2; 95 | return new Rectangle(new Point(x, y), new Dimension(width, height)); 96 | } 97 | 98 | private Image toImage(Icon icon) { 99 | return ((ImageIcon) icon).getImage(); 100 | } 101 | 102 | } 103 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/swing/ModernScrollBarUI.java: -------------------------------------------------------------------------------- 1 | 2 | package com.raven.swing; 3 | 4 | import java.awt.Color; 5 | import java.awt.Graphics; 6 | import java.awt.Graphics2D; 7 | import java.awt.Rectangle; 8 | import javax.swing.BorderFactory; 9 | import javax.swing.JButton; 10 | import javax.swing.JComponent; 11 | import javax.swing.JScrollBar; 12 | import javax.swing.plaf.basic.BasicScrollBarUI; 13 | 14 | public class ModernScrollBarUI extends BasicScrollBarUI { 15 | 16 | private static final int SCROLL_BAR_ALPHA_ROLLOVER = 100; 17 | private static final int SCROLL_BAR_ALPHA = 50; 18 | private static final int THUMB_SIZE = 8; 19 | private static final Color THUMB_COLOR = Color.BLACK; 20 | 21 | public ModernScrollBarUI() { 22 | 23 | } 24 | 25 | @Override 26 | protected JButton createDecreaseButton(int orientation) { 27 | return new InvisibleScrollBarButton(); 28 | } 29 | 30 | @Override 31 | protected JButton createIncreaseButton(int orientation) { 32 | return new InvisibleScrollBarButton(); 33 | } 34 | 35 | @Override 36 | protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) { 37 | } 38 | 39 | @Override 40 | protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) { 41 | int alpha = isThumbRollover() ? SCROLL_BAR_ALPHA_ROLLOVER : SCROLL_BAR_ALPHA; 42 | int orientation = scrollbar.getOrientation(); 43 | int x = thumbBounds.x; 44 | int y = thumbBounds.y; 45 | 46 | int width = orientation == JScrollBar.VERTICAL ? THUMB_SIZE : thumbBounds.width; 47 | width = Math.max(width, THUMB_SIZE); 48 | 49 | int height = orientation == JScrollBar.VERTICAL ? thumbBounds.height : THUMB_SIZE; 50 | height = Math.max(height, THUMB_SIZE); 51 | 52 | Graphics2D graphics2D = (Graphics2D) g.create(); 53 | graphics2D.setColor(new Color(THUMB_COLOR.getRed(), THUMB_COLOR.getGreen(), THUMB_COLOR.getBlue(), alpha)); 54 | graphics2D.fillRect(x, y, width, height); 55 | graphics2D.dispose(); 56 | } 57 | 58 | private static class InvisibleScrollBarButton extends JButton { 59 | 60 | private InvisibleScrollBarButton() { 61 | setOpaque(false); 62 | setFocusable(false); 63 | setFocusPainted(false); 64 | setBorderPainted(false); 65 | setBorder(BorderFactory.createEmptyBorder()); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/swing/Panel.java: -------------------------------------------------------------------------------- 1 | package com.raven.swing; 2 | 3 | import java.awt.Graphics; 4 | import java.awt.Graphics2D; 5 | import java.awt.RenderingHints; 6 | import javax.swing.JPanel; 7 | 8 | public class Panel extends JPanel { 9 | 10 | public Panel() { 11 | setOpaque(false); 12 | } 13 | 14 | @Override 15 | protected void paintComponent(Graphics grphcs) { 16 | Graphics2D g2 = (Graphics2D) grphcs; 17 | g2.setColor(getBackground()); 18 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 19 | g2.fillRoundRect(0, 0, getWidth(), getHeight(), 20, 20); 20 | g2.fillRect(0, getHeight() - 25, getWidth(), getHeight()); 21 | super.paintComponent(grphcs); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/swing/ScrollBar.java: -------------------------------------------------------------------------------- 1 | package com.raven.swing; 2 | 3 | import java.awt.Color; 4 | import java.awt.Dimension; 5 | import javax.swing.JScrollBar; 6 | 7 | public class ScrollBar extends JScrollBar { 8 | 9 | public ScrollBar() { 10 | setUI(new ModernScrollBarUI()); 11 | setPreferredSize(new Dimension(5, 5)); 12 | setBackground(new Color(242, 242, 242)); 13 | setUnitIncrement(20); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /music-ui/src/com/raven/swing/Slider.java: -------------------------------------------------------------------------------- 1 | package com.raven.swing; 2 | 3 | import java.awt.Color; 4 | import java.awt.Graphics; 5 | import java.awt.Graphics2D; 6 | import java.awt.RenderingHints; 7 | import javax.swing.JSlider; 8 | import javax.swing.plaf.basic.BasicSliderUI; 9 | 10 | public class Slider extends JSlider { 11 | 12 | public Slider() { 13 | setOpaque(false); 14 | this.setUI(new BasicSliderUI(this) { 15 | @Override 16 | public void paintThumb(Graphics grphcs) { 17 | Graphics2D g2 = (Graphics2D) grphcs; 18 | g2.setColor(new Color(119, 84, 246)); 19 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 20 | g2.fillOval(thumbRect.x, thumbRect.y + 5, 11, 11); 21 | } 22 | 23 | @Override 24 | public void paintTrack(Graphics grphcs) { 25 | Graphics2D g2 = (Graphics2D) grphcs; 26 | g2.setColor(new Color(119, 84, 246)); 27 | g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 28 | g2.fillRect(0, getHeight() / 2 - 2, thumbRect.x, 4); 29 | g2.setColor(new Color(153, 153, 153)); 30 | g2.fillRect(thumbRect.x, getHeight() / 2 - 2, getWidth(), 4); 31 | } 32 | 33 | @Override 34 | public void paintFocus(Graphics grphcs) { 35 | 36 | } 37 | 38 | }); 39 | } 40 | 41 | } 42 | --------------------------------------------------------------------------------