Ich wollte einen eigenen Media Player machen und habe mir ein Tutorial dazu angeguckt und jetzt weiß ich nicht mehr weiter
Ich habe die Bibliotheken via Maven hinzugefügt:
Und habe folgende Fehler Message:
Exception in thread "main" java.lang.ExceptionInInitializerError
at javafx.stage.Window.<init>(Window.java:1439)
at javafx.stage.Stage.<init>(Stage.java:252)
at javafx.stage.Stage.<init>(Stage.java:240)
at clip.<init>(clip.java:29)
at Maintest.main(Maintest.java:33)
Caused by: java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = main
at com.sun.glass.ui.Application.checkEventThread(Application.java:441)
at com.sun.glass.ui.Screen.setEventHandler(Screen.java:369)
at com.sun.javafx.tk.quantum.QuantumToolkit.setScreenConfigurationListener(QuantumToolkit.java:727)
at javafx.stage.Screen.<clinit>(Screen.java:74)
... 5 more
Ich habe die Bibliotheken via Maven hinzugefügt:
Code:
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>12.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>19-ea+9</version>
</dependency>
Java:
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class clip {
private Stage stage;
private Scene scene;
private BorderPane borderPane;
private HBox hbox;
private Media media;
private MediaPlayer mediaPlayer;
private MediaView mediaView;
private String MEDIA_URL ="";
private Button btnPlay;
private Button btnPause;
public clip() {
stage = new Stage();
stage.setTitle("Java test");
borderPane = new BorderPane();
media = new Media(MEDIA_URL);
mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
mediaPlayer.setOnReady(() -> stage.sizeToScene());
mediaView = new MediaView(mediaPlayer);
borderPane.setCenter(mediaView);
btnPlay = new Button(">");
btnPause = new Button("||");
hbox = new HBox(10);
hbox.getChildren().addAll(btnPlay, btnPause);
hbox.setPadding(new Insets(10));
scene = new Scene(borderPane);
stage.setScene(scene);
stage.show();
}
}
Und habe folgende Fehler Message:
Exception in thread "main" java.lang.ExceptionInInitializerError
at javafx.stage.Window.<init>(Window.java:1439)
at javafx.stage.Stage.<init>(Stage.java:252)
at javafx.stage.Stage.<init>(Stage.java:240)
at clip.<init>(clip.java:29)
at Maintest.main(Maintest.java:33)
Caused by: java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = main
at com.sun.glass.ui.Application.checkEventThread(Application.java:441)
at com.sun.glass.ui.Screen.setEventHandler(Screen.java:369)
at com.sun.javafx.tk.quantum.QuantumToolkit.setScreenConfigurationListener(QuantumToolkit.java:727)
at javafx.stage.Screen.<clinit>(Screen.java:74)
... 5 more