2013-08-23 35 views
11

Làm cách nào để đặt kiểu Phông chữ trên toàn cầu trong ứng dụng JavaFX?Đặt Phông chữ trên toàn cầu trong JavaFX

Có giải pháp nào tôi có thể sử dụng không? Trong JavaFX 8 Font mặc định đã thay đổi, và tôi muốn sử dụng cùng một Font được sử dụng trong JavaFX 2.2.

+0

nếu một trong các câu trả lời dưới đây phù hợp với nhu cầu của bạn, vui lòng đánh dấu là "trả lời" – nyyrikki

Trả lời

21

Bạn có thể bôi da ứng dụng bằng CSS như được mô tả on the Oracle Website. cú pháp Sử dụng sau đây bạn có thể thiết lập các chủ đề chung cho các ứng dụng của bạn:

.root{ 
    -fx-font-size: 16pt; 
    -fx-font-family: "Courier New"; 
    -fx-base: rgb(132, 145, 47); 
    -fx-background: rgb(225, 228, 203); 
} 

Bạn bao gồm css như sau:

scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
4

Thay đổi mặc định Font cho một Scene

Đây là giải pháp outlinked trong câu trả lời của nyyrikki.

Bạn có thể thay đổi font chữ mặc định sử dụng cho hầu hết mọi thứ trong bất kỳ cảnh được bằng cách áp dụng các stylesheet CSS sau đến hiện trường:

.root { 
    -fx-font: 28px Vivaldi; 
} 

thay thế bất kỳ thiết lập mà bạn cần cho các -fx-font giá trị theo các font definition in the JavaFX CSS reference guide.

Thay đổi mặc định Font cho một ứng dụng

Nếu bạn muốn thay đổi font chữ mặc định sử dụng cho hầu hết mọi thứ trong một ứng dụng JavaFX, bạn có thể ghi đè lên các style sheet mặc định sử dụng Application.setUserAgentStylesheet. Sử dụng phương pháp này, bạn có thể đặt kiểu mặc định cho ứng dụng JavaFX 8 thành kiểu dáng caspian được mặc định cho JavaFX 2.2 thay vì kiểu dáng modena mặc định cho JavaFX 8. Nếu bạn muốn một số kiểu mặc định hoặc một số kiểu mặc định tùy chỉnh biểu định kiểu như AquaFX, khi đó bạn sẽ cần tự thực hiện tùy chỉnh.

Chuyển Font Rendering Công nghệ

Ngoài ra, trên một số nền tảng, JavaFX 2.2 sử dụng một cơ chế phông chữ hiển thị khác với JavaFX 8, có thể giải thích cho sự khác biệt tinh tế trong vẽ phông chữ giữa hai người. Có một chuyển đổi dòng lệnh không được cấp phép và không được hỗ trợ có thể được sử dụng để chuyển đổi giữa các cơ chế hiển thị phông chữ trong JavaFX 8, nhưng tôi không biết chuyển đổi là gì và thậm chí nếu tôi đã làm, tôi sẽ không khuyên bạn triển khai ứng dụng bằng cách sử dụng nút chuyển vì không được hỗ trợ.

Các vấn đề liên quan