JavaFX: Простейший mediaplayer

 
 
 
Сообщения:7
Некоторые недостатки:
1)Вместо "\" нужно писать "/".
Код:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

public class Main extends Application{  // Используем javafx для создания интерфейса
	String fileName;
	MediaPlayer player; 
	Button play=new Button("play!");
	Button stop=new Button("stop!");
	Label name=new Label("file path");
	TextField path=new TextField();
	public static void main(String[] args) {
		launch(args);

	}


	public void start(Stage st) throws Exception {
		Application.setUserAgentStylesheet(getClass().getResource("style.css").toExternalForm()); //Подключем css стили.
		VBox box=new VBox();
		box.getStyleClass().add("box");    //Получаем класс из .css файла
		name.getStyleClass().add("name");
		path.getStyleClass().add("path");
		play.getStyleClass().add("play");
		stop.getStyleClass().add("stop");
		box.getChildren().addAll(name,path,play,stop);
		play.setOnAction(new EventHandler<ActionEvent>(){  //Вещаем слушатель на кнопку

			public void handle(ActionEvent arg0) {
				fileName=path.getText();
				String allName="file:///"+fileName;
				Media media=new Media(allName);
				player=new MediaPlayer(media);
				player.setAutoPlay(true);
				
			}
			
		});
		
		stop.setOnAction(new EventHandler<ActionEvent>(){

			public void handle(ActionEvent arg0) {
				player.stop();
				
			}
			
		});
		Scene sc=new Scene(box,400,400);
		st.setScene(sc);-fx-font-size:200%;
}

		st.setTitle("MediaPlayer");
		st.show();
		
	}

}

style.css
Код:
.box{
-fx-spacing:20;
-fx-background-color:#eeeeee;
}
.name{
-fx-font-size:200%;
}
.path{
-fx-background-color:white;
}
.play{
-fx-background-color:#4D545F;
-fx-font-size:200%;
}
.stop{
-fx-border-radius:10px;
-fx-background-color:red;


Для разбора css кода:http://htmlbook.ru/css3
Изменен:18 авг 2015 17:23
 
 
Сообщения:1527
Плеер, действительно простейший )) и смотреть здесь особенно нечего. Но одно обстоятельство следует упомянуть. Поддержка Media Types в FX, скажем прямо - скудная (по причине лицензирования кодеков). Это может вызывать разные ошибки. Посему неплохо было бы разобраться с Error Handling
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет