【问题标题】:Button on MediaView JavaFX FXMLMediaView JavaFX FXML 上的按钮
【发布时间】:2015-07-21 07:03:11
【问题描述】:

我将如何在我的 MediaView 组件上创建一个按钮,例如视频中心的播放按钮,点击后会消失。我正在使用 FXML,所以如果你能用它给我一个答案,那就更好了。

【问题讨论】:

    标签: java javafx javafx-2 javafx-8 fxml


    【解决方案1】:

    您可以轻松地在媒体播放器顶部添加一个Button,方法是将两者都放在StackPane 上。

    然后给按钮添加一个方法,这样当它点击按钮时,它就会被隐藏并且视频开始播放。

    我还会添加一种在视频结束后再次显示按钮的方式,让您重新开始。

    这是 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();
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 1970-01-01
      • 2016-08-25
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2019-10-27
      相关资源
      最近更新 更多