Tôi đang tìm cách tạo kiểu Hộp thoại JavaFX mặc định (javafx.scene.control.Dialog
).Tạo kiểu Hộp thoại JavaFX mặc định
Tôi đã cố gắng lấy Hộp thoại và thêm biểu định kiểu, nhưng nó chỉ bao gồm một phần nhỏ của hộp thoại. Tôi chỉ muốn tạo kiểu với một tệp css bên ngoài và không thêm styleClasses vào mã. Điều này sẽ trông lộn xộn (tiêu đề, nội dung, nội dung của riêng nội dung và hơn thế nữa ..)
Tôi googled đã rất nhiều và chỉ tìm thấy ví dụ cho ControlsFX, nhưng kể từ jdk8_40 JavaFX có Dialogs riêng của nó bây giờ tôi sử dụng.
Mọi đề xuất?
Edit:
Kể từ José Pereda posted giải pháp i tạo dialog.css của riêng tôi. Tôi sẽ đăng nó ở đây vì nó bao gồm toàn bộ hộp thoại và có thể ai đó muốn sao chép & dán nó. Lưu ý .dialog-pane đã là một tên styleClass đã cho nên bạn không cần phải áp dụng riêng của mình. Tất nhiên, Josés là chi tiết tốt hơn.
.dialog-pane {
-fx-background-color: black;
}
.dialog-pane .label {
-fx-text-fill: white;
}
.dialog-pane:header .header-panel {
-fx-background-color: black;
}
.dialog-pane:header .header-panel .label {
-fx-font-style: italic;
-fx-font-size: 2em;
}
Tôi đã tình cờ gặp một bài đăng khác của bạn nhưng nghĩ rằng nó không liên quan đến Hộp thoại JavaFx vì tên kiểu chữ "tùy chỉnh". Dù khi tôi đã thử ví dụ của bạn đầu tiên, nó đã không làm việc nhưng sau đó tôi nhận ra rằng im bằng cách sử dụng jdk8_u31. Bây giờ với 8_40 nó hoạt động. Cảm ơn vì điều đó. Nhưng tôi tự hỏi tại sao tôi đã có Dialog trong u31, bởi vì tôi đọc ở khắp mọi nơi nó chỉ có sẵn từ u40 .. bất kỳ ý tưởng? – Timo
Tôi vừa sửa câu trả lời của mình, vì modena.css đã bao gồm bộ chọn '.dialog-pane' trong 8u40 ea mới nhất. Bài viết khác của tôi liên quan đến [openjfx-dialogs] (https://bitbucket.org/controlsfx/openjfx-dialogs), dự án inbetween được trích xuất từ ControlsFX, hợp lệ cho các phiên bản 8u20, 8u25 và 8u31. –
Cảm ơn câu trả lời này, nó rất hữu ích! Tuy nhiên, tôi đã nhận thấy rằng việc sử dụng ': header' không hoạt động nữa, vì vậy tôi chỉ sử dụng' .myDialog .header-panel', hoạt động hoàn hảo. Tôi cũng đang sử dụng 8u40 .. – bashoogzaad