Dựa trên câu trả lời của Reverend Gonzo, đoạn mã này cho bạn biết khóa nào nằm trong UIDefaults. Vì chìa khóa tự giải thích, bạn biết chìa khóa nào bạn có thể sử dụng. Tôi đã phải biết chìa khóa cho phông chữ JTextField, ví dụ, và chỉ có thể tìm thấy nó theo cách này.
Set<Object> keys = UIManager.getDefaults().keySet();
for (Object key : keys) {
if (key instanceof String && ((String) key).contains("font")) {
System.out.println(key + "=" + UIManager.getDefaults().get(key));
}
}
Nếu bạn đang tìm kiếm phông chữ, trong trường hợp của bạn, chỉ cần nhập khóa vào chuỗi và kiểm tra xem từ đó có chứa từ "phông chữ" hay không. Bằng cách này bạn thu hẹp bộ khóa bạn có thể quan tâm.
tôi có một danh sách
- Menu.font = ...
- TextField.font = ...
- RadioButtonMenuItem.font = ...
- ToolTip.font = .. .
- TitledBorder.font = ...
- ...
- TabbedPane.font = ...
- ...
Và do đó bạn sẽ cần phải chọn TabbedPane.font.
Vâng, cảm ơn, mà làm việc, mặc dù bạn quên một cặp ngoặc đơn: UIManager.getDefaults() getFont ("TabbedPane.font") Hóa ra là Arial Bold, như tôi nghĩ (cho những gì. nó có giá trị). –
Làm thế nào để bạn xác định các phím thích hợp cho các thành phần swing khác? –
Bạn có thể lấy phông chữ cho các thành phần khác bằng cách thay đổi 'TabbedPane' thành kiểu phần tử bạn quan tâm. Ví dụ, tôi chỉ thấy rằng 'ToolTip.font' là 'Dialog'. – marklark