Я делаю приложение с помощью JavaFX и Scene Builder. У меня есть полноэкранное видео до начала моей аппликации. Так что это своего рода вступление для моей аппликации.
Видео имеет тот же фон, что и моя основная сцена.
Проблема в том, что у меня эффект мерцания в самом начале, когда я запускаю приложение. Кнопки и текст в главном окне появляются в течение примерно половины секунды, а затем начинается мое видео.
Как удалить или скрыть этот эффект?
Пожалуйста, проверьте эту ссылку для более ясного понимания моей проблемы
Видео
Основной класс:
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("fxml/card.fxml"));
Parent root = (Parent) loader.load();
Scene scene = new Scene(root, 1600, 600);
primaryStage.setScene(scene);
scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
primaryStage.initStyle(StageStyle.UNDECORATED);
primaryStage.setMaximized(true);
primaryStage.setResizable(true);
primaryStage.getIcons().add(new Image("logo-icon.png"));
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Контроллер, куда я помещаю все кнопки и текст. У меня также есть видео здесь:
public class Controller implements Initializable {
@FXML private AnchorPane mainAnchor, anchorRow, randomCard, randomCardBack, previewCard, bolt1;
@FXML private StackPane hBoxCat0;
@FXML private Button btnPalette, btnFont, btnQuestCards, btnNonQuestCards;
@FXML private ToggleButton btnPref1, btnPref2, btnPref3, btnPref4, btnPref5, btnPref6, btnPref7, btnPref8;
@FXML private Label lb_randomCard, lb_randomCardBack, answerID, lb_previewCard, category1, category2, category3, category4, category5, category6, category7, category8;
@FXML private ToggleGroup group;
@FXML private JFXColorPicker colorPickerCategory;
@FXML private Rectangle rectRandom, rectRandomBack;
@FXML private MediaView media;
private MediaPlayer mp;
private static final String MEDIA_URL = "intro.mp4";
@FXML
public void initialize(URL location, ResourceBundle resources) {
mp = new MediaPlayer(new Media(this.getClass().getResource(MEDIA_URL).toExternalForm()));
media.setMediaPlayer(mp);
media.setSmooth(true);
mp.setAutoPlay(true);
Timeline tm = new Timeline(new KeyFrame(Duration.millis(3000), new KeyValue(media.opacityProperty(), 0.0)));
tm.setDelay(Duration.millis(5500));
tm.play();
addQuestionsToArrayCat1();
addAnswersToArrayCat1();
addSentencesToArray();
matchSentences();
}
}