Hãy thử điều này JavaFX splash sample được tạo cho câu hỏi Stackoverflow: Designing a splash screen (java). Và follow up sample cũng cung cấp phản hồi tiến trình khởi tạo ứng dụng.
JavaFX cung cấp giao diện Preloader để chuyển trơn tru từ giật gân sang ứng dụng, nhưng các mẫu ở trên không tận dụng được.
Các mẫu giật gân ở trên cũng không làm hiệu ứng trong suốt, nhưng dialog sample cho bạn biết cách thực hiện điều đó và bạn có thể kết hợp nó với các mẫu giật gân trước đó để có được hiệu ứng bạn muốn.
Hiệu quả trong suốt được tạo ra bởi:
stage.initStyle(StageStyle.TRANSPARENT)
.
scene.setFill(Color.TRANSPARENT)
.
- Đảm bảo nút gốc của bạn không phải là hình chữ nhật vuông mờ đục.
Tất cả được minh họa trong mẫu của Sergey.
câu hỏi liên quan:
Cập nhật tháng 4 năm 2016 dựa trên những câu hỏi thêm
hình ảnh isnt preloader ở mặt trước. Tôi đã thử stage.toFront(), nhưng không giúp đỡ.
API mới được tạo trong Java 8u20 stage.setAlwaysOnTop(true). Tôi đã cập nhật linked sample để sử dụng màn hình này trên màn hình giật gân ban đầu, giúp hỗ trợ quá trình chuyển đổi mượt mà hơn sang màn hình chính.
Đối Java8 +
Đối modena.css (mặc định JavaFX xem và cảm nhận nét trong Java 8), một nền bóng mờ nhẹ đã được giới thiệu cho tất cả các điều khiển (và cũng để Panes nếu một điều khiển được nạp).
Bạn có thể loại bỏ điều này bằng cách xác định rằng nền mặc định là trong suốt. Điều này có thể được thực hiện bằng cách thêm dòng sau vào tập tin CSS của ứng dụng của bạn:
.root { -fx-background-color: transparent; }
Nếu bạn muốn, bạn có thể sử dụng các kiểu class CSS và quy tắc hay một cuộc gọi setStyle (như đã chứng minh trong câu trả lời của Sergey) để đảm bảo rằng các thiết lập chỉ áp dụng cho thư mục gốc của màn hình của bạn thay vì tất cả màn hình ứng dụng của bạn.
Xem liên quan:
+1 để đề cập đến Trình tải trước – Puce
Xin cảm ơn các bạn! Cả hai câu trả lời đều tốt nhưng 'scene.setFill (Color.TRANSPARENT) .' bạn không cần phải xác định chiều rộng và chiều cao của cảnh – francisOpt
Tôi đã trải qua một phần nghìn giây với nền hiển thị khi giai đoạn được hiển thị. Tôi đã giải quyết vấn đề này bằng cách gọi: 'root.setCache (true); root.setCacheHint (CacheHint.SPEED); '_ (trong đó root là Parent instance) _. – stuchl4n3k