SAF z założenia ma być rozwiązaniem prostym, koncentrującym się na zasadniczych problemach, na jakie napotykamy się tworząc programy z interfejsem użytkownika w Javie.
SAF zajmuje się następującymi aspektami tworzenia aplikacji z interfejsem użytkownika:
Żeby nie przedłużać wstępu przejdźmy do rzeczy, czyli przyjrzyjmy się przykładowej aplikacji Szukacz (Rysunek 1). Szukacz jest napisaną w Javie kulawą i ubogą funkcjonalnie namiastką unixowego grep-a, ma za to graficzny interfejs użytkownika
Rysunek 1. Główny ekran aplikacji Szukacz
Aplikacja jest skonstruowana inaczej niż w większości demonstracyjnych aplikacji Swing Application Framework, które można znaleźć w Internecie. Problemem używanych tam przykładów jest ich mała użyteczność w rzeczywistej sytuacji. Przykłady te dzielą się na dwie grupy:
Żadna z tych sytuacji nie jest typowa. Po pierwsze, nie każdy chce używać NetBeansa (fakt, jest on bardzo dobrym produktem jeśli chodzi o tworzenie GUI), a nawet jeżeli go używamy, to istnieje duża szansa, że mamy już napisany kawałek kodu, który nie używa SAF i chcielibyśmy go gładko zintegrować frameworkiem.
Co do drugiej sytuacji, jeśli nie jesteśmy maniakalnymi zwolennikami ręcznego pisania kodu GUI, co zazwyczaj kończy się mniejszą lub większą katastrofą połączoną z gromami rzucanymi na Swinga i Javę w ogóle, to pewnie chcemy użyć jakiegoś wizualnego narzędzia, które pozwoli nam wyklikać strukturę interfejsu użytkownika. Narzędzie to na pewno jeszcze nie wspiera SAF, a my oczywiście nie chcemy być zmuszeni do rezygnacji z jego użycia.
Zobaczymy dalej jak tworzyć GUI tak, jak nam jest najwygodniej i móc go w każdej chwili zintegrować z SAF. Zatem do dzieła.