JavaFX - MediaView getFitWidth() 方法



在 JavaFX 中,`MediaView` 類中的 `getFitWidth()` 方法用於檢索調整大小後的媒體邊界框的寬度。預設情況下,如果未設定 'fitWidth' 屬性,此方法將返回 0.0。

如果我們想調整 `MediaView` 容器中媒體的寬度,可以透過設定 'fitWidth' 屬性來實現。此屬性可以使用 `setFitWidth()` 方法設定。如果 'fitWidth' 的值大於 0,則媒體將以指定的寬度顯示。如果該值小於或等於 0,則媒體將以其自然寬度顯示,我們可以使用 `getFitWidth()` 方法檢索此值。

語法

`MediaView` 類的 `getFitWidth()` 方法的語法如下:

public final double getFitWidth()

引數

此方法不接受任何引數。

返回值

此方法返回一個雙精度值,表示邊界框的寬度。

示例 1

以下是一個演示 `MediaView` 類 `getFitWidth()` 方法的基本示例:

在這個例子中,我們建立了一個在 VBox 上顯示影片的應用程式。然後,我們使用 `getFitWidth()` 方法顯示 fitWidth 的標籤。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.geometry.Pos;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import java.io.File;

public class GetFitWidthEX extends Application {
   @Override
   public void start(Stage stage) {
      File mediaPath = new File("./audio_video/sampleTP.mp4");
      Media media = new Media(mediaPath.toURI().toString());
      MediaPlayer mediaPlayer = new MediaPlayer(media);
      
      // Create the MediaView and set fit width
      MediaView mediaView = new MediaView(mediaPlayer);
      mediaView.setFitWidth(530);

      // Create a VBox to hold the label and MediaView
      VBox root = new VBox();
      root.setAlignment(Pos.CENTER);
      Label fitWidthLabel = new Label("Fit width of the media: " + mediaView.getFitWidth());
      
      root.getChildren().addAll(mediaView, fitWidthLabel);    

      Scene scene = new Scene(root, 550, 280);
      stage.setScene(scene);
      stage.setTitle("Fit Width Example");
      stage.show();
      
      mediaPlayer.play();
   }   
   public static void main(String[] args) {
      launch(args);
   }
}

輸出

以下是程式碼的輸出:

getFitWidth1

示例 2

在這個例子中,我們使用 `getFitWidth()` 方法在不設定它的情況下檢索 `fitWidth` 的值。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.geometry.Pos;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import java.io.File;

public class GetFitWidthExample extends Application {
   @Override
   public void start(Stage stage) {
      File mediaPath = new File("./audio_video/sampleTP.mp4");
      Media media = new Media(mediaPath.toURI().toString());
      MediaPlayer mediaPlayer = new MediaPlayer(media);
      
      // Create the MediaView and set fit width
      MediaView mediaView = new MediaView(mediaPlayer);

      // Create a VBox to hold the label and MediaView
      VBox root = new VBox();
      root.setAlignment(Pos.CENTER);
      double fitWidth = mediaView.getFitWidth();
      System.out.println("Fit width of the media: " + fitWidth);
      
      root.getChildren().addAll(mediaView);    

      Scene scene = new Scene(root, 550, 280);
      stage.setScene(scene);
      stage.setTitle("Fit Width Example");
      stage.show();
      
      mediaPlayer.play();
   }   
   public static void main(String[] args) {
      launch(args);
   }
}

輸出

以下是程式碼的輸出,它在控制檯中顯示 `fitWidth`。

Fit width of the media: 0.0
廣告