2009-09-16 3 views

Trả lời

20

Tùy thuộc vào Giao diện. Nếu đó là ứng dụng bạn đã viết, hãy lấy các giá trị từ UIManager.getDefaults().getFont("TabbedPane.font")

+1

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ị). –

+3

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? –

+0

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

1

Nó có thể phụ thuộc vào 'Look and Feel' bạn đang sử dụng, nhưng đối với tôi phông chữ mặc định Swing là

DejaVu Sans - Plain

Đối với hầu hết các thành phần giá trị mặc định font size khoảng 12 hoặc 13

0

Có vẻ như đó là Arial. Đó là những gì Identifont nói với tôi và có vẻ đúng.

3

UIManager Defaults cho biết giá trị là gì cho tất cả các thuộc tính cho tất cả các thành phần (bao gồm "TabbedPane.font").

3

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.

+0

Đã thử điều này trên Java8 nhưng chỉ có một tập hợp con giảm các mục. Thay đổi cách tiếp cận để gán kết quả của 'getDefaults()' cho một 'Hashtable', tạo một trình lặp và sau đó kiểm tra các khóa của nó giống như bạn đã đề xuất. – Alfabravo

-3

Phông chữ mặc định của GUI Java là "Helvetica", in đậm kích thước 9, màu xám.

+0

sai về tính hoàn hảo của nó: khi những người khác đã trả lời đúng, phông chữ phụ thuộc vào cài đặt LAF và/hoặc hệ điều hành – kleopatra