Swing Defaults

Jak dobrać się do domyślnych ustawień w Swingu.

Na przykład mamy sobie walidującego JTextFielda, które ma taką logikę:

  1. Jeśli wprowadzona wartość zawiera błąd to pole zmienia kolor na czerwony.
  2. Jeśli wprowadzona wartość zawiera ostrzeżenie to pole jest żółte
  3. Jeśli wartość jest ok to pole jest białe.

Stop! Dlaczego białe? Tak na prawdę wcale nie chcemy żeby pole było białe ale żeby miało kolor odpowiadający domyślnemu kolorowi tła JTextfieldsa1

Jest taka fajna klasa:

    javax.swing.UIDefaults uid = javax.swing.UIManager.getDefaults();

która ma metody takie jak:

    UIDefaults.get(String key)
    UIDefaults.getColor(String key)
    UIDefaults.getBorder(String key)
    ...

Teraz tylko trzeba dobrać się do kluczy do których domyślne wartości są poprzypisywane. To zadanie zostawiam jako pracę domową :)

Jak się komuś nie chce — to tutaj jest mały programik wyświetlający wszystkie wartości domyślne (w reprezentacji tekstowej) swingDefaults.jar. Wymagana java 1.6. Jak znajdę chęć dodam lepszą reprezentację tego (no żeby kolory były kolorowe i inne chuje muje), jak ktoś ma moment niech poprawi i wyśle mi jara z lepszym renderowaniem wartości (źródła już są w jarze).

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License