2012-09-12 11 views
6

Widziałem ludzi używających UIManager do zmiany ciągów niektórych wstępnie utworzonych komponentów swing (np. JFileChooser).Jawna lista kluczy UIManager

Gdzie mogę znaleźć referencje, które powiedzą mi, które łańcuchy w których komponenty są zmienne i jak mogę uzyskać do nich dostęp?

Dla wyjaśnienia:

wiem, że UIManager.put(key, newString); zmieni tekst napisu, że odniesienia do kluczowych, aby "newString".

Gdzie mogę znaleźć listę kluczy?

Odpowiedz

1

Te klucze są dostarczane przez pakiety zasobów Swing PLAF i można je znaleźć w źródłach JDK. Patrz np .:

wartości String dla języków innych niż angielski są dostarczane przez sąsiednie plików pakietu.

Możesz dodać jeszcze jeden pakiet do dowolnej z tych rodzin, tworząc po prostu jeszcze jeden plik dla pożądanego ludzkiego języka i umieszczając go w dowolnym miejscu w ścieżce klas. Pakiety w formacie .java i .properties działają równie dobrze, chociaż format .java może być nieco bardziej przyjazny dla Unicode ...

Warto pamiętać, że bezpośrednie dodawanie treści do pakietu com.sun może naruszać Licencja Java. Więc być na bezpiecznej stronie, może być mądry, aby przenieść dodatkowe środki na pakiet własnych i zarejestrować go z UIManager tak:

UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic"); 
4
  • Keys for UIManage r są Look and Feel s czuły, środki (na przykład) wartość Keys for Metal Look and Feel może być diferrent przy porównywaniu wartości z System Look and Feel, zawiadomienia lub Key missed też

  • użycie UIManager Default ów przez @camickr

0

Wygląda trzeba uruchomić jakiś kod zobaczyć wszystkie klucze. Wiem, że pytanie jest dla języka Java, ale tak naprawdę to najszybszy sposób, aby uzyskać klucze jest uruchomienie groovy (lub Gradle) skrypt:

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

wkleić go do pliku i nazwać groovy keys.groovy lub gradle -b keys.groovy, cokolwiek narzędzie jest łatwiej dostać.

Bez tworzenia pliku jest to również możliwe dzięki groovy. Po prostu wykonaj:

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