我正在尝试使用JavaFX在警报对话框中播放视频。问题是我找不到如何显示视频或更多如何将其插入警报中?
这是我的提醒代码
MediaPlayer player = new MediaPlayer( new Media(getClass().getResource("video.mp4").toExternalForm()));
MediaView mediaView = new MediaView(player);
private void alert(){
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Don't be a fool");
alert.setHeaderText("");
alert.setContentText("Do you really think your time is correct ?");
Optional<ButtonType> result = alert.showAndWait();
}
答案 0 :(得分:2)
Alert
从Dialog
扩展而来,这意味着您可以自定义其DialogPane
。如果要将视频添加到警报中,最好的位置可能是对话框窗格的content
。但是请注意,设置content
将替换contentText
(您在示例代码中设置的):
除了标题和内容属性外,还存在标题文本和内容文本属性。 * Text属性的工作方式是,与Node属性相比,它们的优先级较低,但是在通常情况下,它们对于开发人员来说要方便得多,因为这种情况很可能是开发人员经常不只是想设置DialogPane的标题或内容区域中的字符串值。
这意味着,如果仍然要显示"Do you really think your time is correct?"
,则还必须向内容添加自己的Label
。例如:
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Don't be a fool");
alert.setHeaderText("");
Label label = new Label("Do you really think your time is correct?");
VBox content = new VBox(10, label, mediaView);
content.setAlignment(Pos.CENTER);
alert.getDialogPane().setContent(content);
alert.setOnShowing(e -> player.play());
alert.showAndWait();