W poprzednim artykule na temat event-ów opisałam działanie jednego ze wzorców projektowych. Kontynuując temat event-ów dalej w dzisiejszym artykule opiszę zasadę działania event-ów w Swing-u.
1. SWING.
Jest to jedna z bibliotek javy wykorzystywana do tworzenia graficznego interfejsu użytkownika GUI. Dzięki niej aplikacja jest wysoce interaktywna i elastyczna co do swoich funkcji. Przykładową aplikacją napisana w Javie przy użyciu Swing-a jest dobrze znany InteliJ IDEA. W wersji community możemy sprawdzić w kodzie źródłowym poniższy fragment:
2. Event i Swing jak to działa?
Mechanizm działania Swing-a poza event-ami opiera się również na action listeners, które pochodzą z biblioteki AWT. Warto tutaj zaznaczyć, iż Swing jest nowszą, ulepszoną wersją AWT. Ponadto mam tutaj zastosowanie również mechanizm event handling, który zarządza danym eventem i decyduje, co powinno się wydarzyć, gdy określony event wystąpi. Dla przykładu, aby to lepiej zobrazować przedstawiam przykładowy kod źródłowy:
Powyższy kod wywołuje event, gdy określony numer klawisza na klawiaturze zostanie naciśnięty. W aplikacji ustawiłam numery odpowiednio dla strzałek w górę: 38, w lewo: 37, w prawo: 39, w dół: 40. Dodatkowo wypisałam te wartości na terminalu, aby można było zobaczyć wizualnie jak to działa. Poniżej możemy zobaczyć efekt na konsoli po przesuwaniu strzałkami rakiety.
W innej małej aplikacji zaimplementowałam proste eventy wywoływane odpowiednio kliknięciem myszki. I tak np. ActionEvent dysponuje event-ami, takimi jak:
Efekt poniżej:
3.Podsumowanie.
W dzisiejszym artykule zobaczyliśmy podstawowe działanie event-ów w Swing-u. Aplikacje okienkowe z wykorzystaniem tej biblioteki są bardzo intuicyjne dla użytkownika. Tak jak wcześniej wspomniałam InteliJ IDEA (aplikacja bardzo popularna dla programistów Java i nie tylko) wyposażona jest w mnóstwo udogodnień wspomagających współczesne programowanie. I choć biblioteka ta może nie jest tak popularna jak framework-i dla frontend-u, to jednak warto wiedzieć, w jaki sposób działają event-y w Swing-u. Będzie to pomocne przy zrozumieniu działania event-ów w bardziej zaawansowanych tematach.