Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.15 KB | None | 0 0
  1. package sample;
  2.  
  3. import javafx.event.ActionEvent;
  4. import javafx.event.EventHandler;
  5. import javafx.scene.layout.BorderPane;
  6. import javafx.scene.layout.GridPane;
  7. import javafx.geometry.Insets;
  8. import javafx.geometry.Pos;
  9. import javafx.scene.control.Button;
  10. import javafx.scene.control.Slider;
  11. import javafx.scene.control.MenuBar;
  12. import javafx.scene.control.Menu;
  13. import javafx.scene.control.MenuItem;
  14. import javafx.scene.control.Label;
  15. import javafx.scene.layout.HBox;
  16. import javafx.stage.FileChooser;
  17. import javafx.stage.Stage;
  18.  
  19. import javafx.scene.media.Media;
  20. import javafx.scene.media.MediaPlayer;
  21. import java.io.File;
  22.  
  23.  
  24. public class Controller {
  25.     private static BorderPane bPane;
  26.     private static GridPane gPane;
  27.     private static Button stopButton;
  28.     private static Button playButton;
  29.     private static Button backButton;
  30.     private static Button forwardButton;
  31.     private static Slider playerSlider;
  32.     private static Slider volumeRocker;
  33.     private static MenuBar menuBar;
  34.     private static Menu media;
  35.     private static MenuItem openMedia;
  36.     private static HBox statusBar;
  37.     private static Label statusLabel;
  38.     private static Label time;
  39.    // private static Text credit;
  40.  
  41.     private File currentMp3File;
  42.     private Media mediaSong;
  43.     private MediaPlayer mediaPlayer;
  44.  
  45.     public Controller() {
  46.         bPane = new BorderPane();
  47.         gPane = new GridPane();
  48.         gPane.setAlignment(Pos.CENTER);
  49.         gPane.setHgap(10);
  50.         gPane.setVgap(10);
  51.         gPane.setPadding(new Insets(25, 25, 25, 25));
  52.  
  53.         playerSlider = new Slider();
  54.         backButton = new Button("<<");
  55.         playButton = new Button("Play");
  56.         stopButton = new Button("Stop");
  57.         forwardButton = new Button(">>");
  58.         volumeRocker = new Slider();
  59.  
  60.         time = new Label("--/--");
  61.         menuBar = new MenuBar();
  62.         media = new Menu("Media");
  63.         openMedia = new MenuItem("Open MP3 file");
  64.  
  65.         statusBar = new HBox();
  66.         statusLabel = new Label("Player ready");
  67.         statusBar.getChildren().add(statusLabel);
  68.  
  69.         media.getItems().add(openMedia);
  70.         menuBar.getMenus().addAll(media);
  71.         gPane.add(playerSlider, 0, 0, 5, 1);
  72.         gPane.add(backButton, 0, 1);
  73.         gPane.add(playButton, 1, 1);
  74.         gPane.add(stopButton, 2, 1);
  75.         gPane.add(forwardButton, 3, 1);
  76.         gPane.add(volumeRocker, 4, 1);
  77.         gPane.add(time, 6, 0);
  78.  
  79.         bPane.setTop(menuBar);
  80.         bPane.setCenter(gPane);
  81.         bPane.setBottom(statusBar);
  82.  
  83.         openMedia.setOnAction(new EventHandler<ActionEvent>() {
  84.             @Override
  85.             public void handle(ActionEvent event) {
  86.                 Stage stage = new Stage();
  87.                 FileChooser fileChooser = new FileChooser();
  88.                 fileChooser.setTitle("Open MP3 file");
  89.                 currentMp3File = fileChooser.showOpenDialog(stage);
  90.  
  91.                 System.out.println(currentMp3File.getAbsolutePath());
  92.  
  93.                 mediaSong = new Media(currentMp3File.toURI().toString());
  94.                 mediaPlayer = new MediaPlayer(mediaSong);
  95.             }
  96.         });
  97.  
  98.         playButton.setOnAction(new EventHandler<ActionEvent>() {
  99.             @Override
  100.             public void handle(ActionEvent event) {
  101.                 mediaPlayer.play();
  102.             }
  103.         });
  104.  
  105.         stopButton.setOnAction(new EventHandler<ActionEvent>() {
  106.             @Override
  107.             public void handle(ActionEvent event) {
  108.                 mediaPlayer.stop();
  109.             }
  110.         });
  111.  
  112.     }
  113.  
  114.  
  115.     private void initUI()
  116.         {
  117.             volumeRocker.setMin(0);
  118.             volumeRocker.setValue(5);
  119.             volumeRocker.setMax(10);
  120.             playerSlider.setMin(0);
  121.             playButton.setDisable(false);
  122.             stopButton.setDisable(false);
  123.             forwardButton.setDisable(false);
  124.             backButton.setDisable(false);
  125.             volumeRocker.setDisable(false);
  126.             playerSlider.setDisable(false);
  127.  
  128.         }
  129.  
  130.         public BorderPane createPlayerUI(Stage stage)
  131.         {
  132.             initUI();
  133.             return bPane;
  134.         }
  135.  
  136.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement