2015-05-10 132 views
0

我該如何着手在MediaView組件上創建按鈕,例如點擊時放棄的視頻中心的播放按鈕。我正在使用FXML,所以如果你能給我一個答案,它會更好。MediaView上的按鈕JavaFX FXML

回答

2

您可以通過在StackPane上同時添加一個Button在媒體播放器頂部。

然後添加一個方法到按鈕,所以當它被點擊時,按鈕被隱藏並且視頻開始播放。

我還將添加一種方法,在視頻結束後再次顯示按鈕,讓您再次開始。

這是FXML:

<AnchorPane prefHeight="480.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controller"> 
    <children> 
     <StackPane> 
      <children> 
       <MediaView> 
        <mediaPlayer> 
         <MediaPlayer fx:id="mediaPlayer" autoPlay="false"> 
          <media> 
           <Media source="http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv" /> 
          </media> 
         </MediaPlayer> 
        </mediaPlayer>  
       </MediaView> 
       <Button fx:id="button" mnemonicParsing="false" onAction="#playAndHide" text="Play Video" /> 
      </children> 
     </StackPane> 
    </children> 
</AnchorPane> 

,這是Controller類:

@FXML private Button button; 
@FXML private MediaPlayer mediaPlayer; 

@Override 
public void initialize(URL url, ResourceBundle rb) { 
    mediaPlayer.setOnEndOfMedia(()->button.setVisible(true)); 
}  

@FXML 
public void playAndHide(ActionEvent event){ 
    button.setVisible(false); 
    mediaPlayer.seek(Duration.ZERO); 
    mediaPlayer.play(); 
}