Witam po raz kolejny,
tym razem atakuję JavęFX. Napisałem programik VideoPlayer i mam pewien problem, nie wiem jak napisać dostosowywanie się filmu do wielkości ramki, aktualnie mam na sztywno podane rozmiary, fragment kodu pod spodem:
private void configureMenu() {
/**
* Metoda otwierająca film w formacie .flv i .mp4 z menu plik.
*/
fileMenuItem.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
FileChooser fc = new FileChooser();
fc.getExtensionFilters().add(
new ExtensionFilter("flv, mp4", "*.flv, *mp4"));
File file = fc.showOpenDialog(new Stage());
if (file != null) {
String path = file.toURI().toASCIIString();
System.out.println(path);
try {
media = new Media(path);
player = new MediaPlayer(media);
player.setAutoPlay(true);
mediaView.setFitWidth(320);
mediaView.setFitHeight(220);
mediaView.setPreserveRatio(false);
mediaView.setTranslateX(mediaView.getFitWidth() / 2 + 300);
mediaView.setTranslateY(mediaView.getFitHeight() / 2 + 220);
mediaView.setScaleX(5);
mediaView.setScaleY(4);
mediaView.setMediaPlayer(player);
mediaView.setVisible(true);
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
});
- linijka z fxmla
<BorderPane prefHeight="300.0" prefWidth="450.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="pl.goraj.media.app.MainController">