2012-09-12 23 views
6

Tôi đã thấy mọi người sử dụng UIManager để thay đổi các chuỗi của một số thành phần swing được tạo trước (ví dụ: JFileChooser).Danh sách khóa Java UIManager

Tôi có thể tìm thấy loại tham chiếu nào sẽ cho tôi biết chuỗi nào trong đó các thành phần có thể thay đổi và cách tôi có thể truy cập chúng?

Để làm rõ:

Tôi biết rằng UIManager.put(key, newString); sẽ thay đổi nội dung của chuỗi mà tài liệu tham khảo quan trọng, để "newString".

Tôi có thể tìm danh sách khóa ở đâu?

Trả lời

1

Các khóa này được cung cấp bởi các gói tài nguyên PLAF Swing và bạn có thể tìm chúng trong các nguồn JDK. Xem ví dụ .:

giá trị chuỗi cho các ngôn ngữ khác ngoài tiếng Anh được cung cấp bởi các tập tin bó liền kề.

Và bạn có thể thêm một nhóm nữa vào bất kỳ gia đình nào trong số này chỉ bằng cách tạo thêm một tệp cho ngôn ngữ con người mong muốn và đặt nó ở bất kỳ đâu trên đường dẫn lớp của bạn. Các gói ở định dạng .java và .properties hoạt động tốt như nhau, mặc dù định dạng .java có thể hơi thân thiện với Unicode hơn một chút ...

Có thể nên nhớ rằng việc thêm trực tiếp nội dung vào gói com.sun có thể vi phạm Giấy phép Java. Vì vậy, để được ở bên an toàn, nó có thể là khôn ngoan để di chuyển nguồn lực bổ sung của bạn đến một gói của riêng bạn và đăng ký nó với UIManager như thế này:

UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic"); 
4
  • Keys for UIManage r là Look and Feel s nhạy cảm, phương tiện (ví dụ) giá trị Keys for Metal Look and Feel thể VẬT LIỆU KHÁC NHAU khi bạn so sánh giá trị từ System Look and Feel, thông báo hoặc Key missed quá

  • sử dụng UIManager Default s bởi @camickr

0

Có vẻ như người ta phải chạy một số mã để xem tất cả các phím. Tôi biết câu hỏi là cho java, nhưng thực sự là cách nhanh nhất để có được khóa là để khởi động groovy (hoặc gradle) kịch bản:

javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it} 

Dán nó vào một tập tin và gọi groovy keys.groovy hoặc gradle -b keys.groovy, bất cứ công cụ là dễ dàng hơn cho bạn để có được.

Không cần tạo tệp cũng có thể thực hiện được bằng tiếng rêu. Chỉ cần thực hiện:

groovy -e "javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it}"