Bởi vì JavaFX 8 có một chủ đề mới 'modena' nhưng với vấn đề cũ Tôi muốn làm một bản cập nhật của câu trả lời của Uluk Biy và cung cấp thêm một số thông tin:
Nếu bạn tự hỏi, một số phong cách đến từ đâu, bạn có thể xem xét modena.css. Bạn có thể tìm thấy tệp css này trong jfxrt.jar, bản thân nó có thể được tìm thấy trong thư mục cài đặt JRE hoặc JDK của bạn. Trên Ubuntu 14.04 nhà jdk thường là dưới
/usr/lib/jvm/java-8-oracle/
và jfxrt.jar nên ở đây
/usr/lib/jvm/java-8-oracle/jre/lib/ext
Mở file jar và có một cái nhìn trong thư mục/com/CN/JavaFX/cảnh/điều khiển/da/modena, nơi bạn sẽ tìm thấy những modena.css
Bắt đầu từ dòng 406 bạn có thể nhìn thấy một tiêu đề như thế này
/* ==== BUTTON LIKE THINGS ============================================== */
Css trong phần này chỉ định nền và đường viền cho nhiều điều khiển và vùng chứa. Bạn chỉ cần tìm kiếm cho lớp mục tiêu của bạn. Tôi sẽ giới thiệu nó cho các nút bấm như một ví dụ: Đối với lớp nút css sau được quy định
-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-insets: 0 0 -1 0, 0, 1, 2;
Đối với một số lý do họ không sử dụng biên giới, nhưng sử dụng nhiều hình nền mô phỏng một biên giới như nhìn. Vì vậy, nếu bạn chỉ muốn loại bỏ đường viền, bạn phải điều chỉnh nền và thuộc tính inset.
Cuối cùng nếu bạn muốn loại bỏ các hiệu ứng tập trung, bạn phải ghi đè mặc định này css
.button:focused,
.toggle-button:focused,
.radio-button:focused > .radio,
.check-box:focused > .box,
.menu-button:focused,
.choice-box:focused,
.color-picker.split-button:focused > .color-picker-label,
.combo-box-base:focused,
.slider:focused .thumb {
-fx-background-color: -fx-focus-color, -fx-inner-border, -fx-body-color, -fx-faint-focus-color, -fx-body-color;
-fx-background-insets: -0.2, 1, 2, -1.4, 2.6;
-fx-background-radius: 3, 2, 1, 4, 1;
}
cho các điều khiển của bạn sự lựa chọn với các định nghĩa mặc định cho nền và insets từ trên cao. Ví dụ. cho các nút:
.button:focused {
-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-insets: 0 0 -1 0, 0, 1, 2;
}
tôi đã phải vật lộn khá nhiều trước khi nhìn thấy câu trả lời của bạn, thực sự họ không sử dụng một tài sản biên giới nhưng một hình chữ nhật và một nền thanks a lot cho trỏ này ra. JavaFx chắc chắn cần tài liệu tốt hơn các công cụ css ... – rozaydin