Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.scene.layout.BorderPane;
- import javafx.scene.layout.GridPane;
- import javafx.geometry.Insets;
- import javafx.geometry.Pos;
- import javafx.scene.control.Button;
- import javafx.scene.control.Slider;
- import javafx.scene.control.MenuBar;
- import javafx.scene.control.Menu;
- import javafx.scene.control.MenuItem;
- import javafx.scene.control.Label;
- import javafx.scene.layout.HBox;
- import javafx.stage.FileChooser;
- import javafx.stage.Stage;
- import javafx.scene.media.Media;
- import javafx.scene.media.MediaPlayer;
- import java.io.File;
- public class Controller {
- private static BorderPane bPane;
- private static GridPane gPane;
- private static Button stopButton;
- private static Button playButton;
- private static Button backButton;
- private static Button forwardButton;
- private static Slider playerSlider;
- private static Slider volumeRocker;
- private static MenuBar menuBar;
- private static Menu media;
- private static MenuItem openMedia;
- private static HBox statusBar;
- private static Label statusLabel;
- private static Label time;
- // private static Text credit;
- private File currentMp3File;
- private Media mediaSong;
- private MediaPlayer mediaPlayer;
- public Controller() {
- bPane = new BorderPane();
- gPane = new GridPane();
- gPane.setAlignment(Pos.CENTER);
- gPane.setHgap(10);
- gPane.setVgap(10);
- gPane.setPadding(new Insets(25, 25, 25, 25));
- playerSlider = new Slider();
- backButton = new Button("<<");
- playButton = new Button("Play");
- stopButton = new Button("Stop");
- forwardButton = new Button(">>");
- volumeRocker = new Slider();
- time = new Label("--/--");
- menuBar = new MenuBar();
- media = new Menu("Media");
- openMedia = new MenuItem("Open MP3 file");
- statusBar = new HBox();
- statusLabel = new Label("Player ready");
- statusBar.getChildren().add(statusLabel);
- media.getItems().add(openMedia);
- menuBar.getMenus().addAll(media);
- gPane.add(playerSlider, 0, 0, 5, 1);
- gPane.add(backButton, 0, 1);
- gPane.add(playButton, 1, 1);
- gPane.add(stopButton, 2, 1);
- gPane.add(forwardButton, 3, 1);
- gPane.add(volumeRocker, 4, 1);
- gPane.add(time, 6, 0);
- bPane.setTop(menuBar);
- bPane.setCenter(gPane);
- bPane.setBottom(statusBar);
- openMedia.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- Stage stage = new Stage();
- FileChooser fileChooser = new FileChooser();
- fileChooser.setTitle("Open MP3 file");
- currentMp3File = fileChooser.showOpenDialog(stage);
- System.out.println(currentMp3File.getAbsolutePath());
- mediaSong = new Media(currentMp3File.toURI().toString());
- mediaPlayer = new MediaPlayer(mediaSong);
- }
- });
- playButton.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- mediaPlayer.play();
- }
- });
- stopButton.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- mediaPlayer.stop();
- }
- });
- }
- private void initUI()
- {
- volumeRocker.setMin(0);
- volumeRocker.setValue(5);
- volumeRocker.setMax(10);
- playerSlider.setMin(0);
- playButton.setDisable(false);
- stopButton.setDisable(false);
- forwardButton.setDisable(false);
- backButton.setDisable(false);
- volumeRocker.setDisable(false);
- playerSlider.setDisable(false);
- }
- public BorderPane createPlayerUI(Stage stage)
- {
- initUI();
- return bPane;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement