Tôi đã cố gắng thực hiện chuyển tiếp mở rộng cho một giai đoạn JavaFX để thay thế Scene hiện tại (trong trường hợp này là khung đăng nhập) cho cửa sổ chính của ứng dụng.
Khi điều này xảy ra, vì cảnh mới lớn hơn, các cửa sổ được kích hoạt lại một cách đột ngột một cách không thanh lịch.Làm cách nào để tạo hoạt ảnh Thay đổi kích thước cho giai đoạn JavaFX?
Có cách nào để thiết lập quá trình chuyển đổi tỷ lệ hoặc kích thước lại để thực hiện việc này để thay đổi kích thước của giai đoạn không?
đang liên quan:
InputStream is = null;
try {
is = getClass().getResourceAsStream("/fxml/principal.fxml");
Region pagina = (Region) cargadorFXML.load(is);
cargadorFXML.<ContenedorPrincipal>getController().setEscenario(escenario);
final Scene escena = new Scene(pagina, 900, 650);
escena.setFill(Color.TRANSPARENT);
escenario.setScene(escena);
escenario.sizeToScene();
escenario.centerOnScreen();
escenario.show();
} catch (IOException ex) {
// log "Unable to load the main application driver"
log.error("No fue posible cargar el controlador principal de la aplicación.");
log.catching(ex);
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {}
}
}
Đó là cách hay để thực hiện. Tôi đã chọn tạo một Giai đoạn mới và sử dụng các hiệu ứng chuyển tiếp mờ dần giữa chúng để làm điều đó một cách đầy đủ nhưng đề xuất của bạn có vẻ tốt nên tôi sẽ thử nó ngay khi có thể. – fturizo
Tốt hơn để sử dụng các tiện ích hoạt ảnh tích hợp sẵn của JavaFX chẳng hạn như Dòng thời gian thay vì Bộ hẹn giờ. Với bộ hẹn giờ bạn có một luồng khác và mã không phải là luồng an toàn trừ khi bạn bao bọc các cuộc gọi điều khiển biểu đồ giai đoạn hoặc cảnh trong các lời gọi Platform.runLater(). – jewelsea