Stanęłam ostatnio wobec następującego problemu: potrzebowałam aplikacji do manualnej klasyfikacji stron internetowych. Chodziło o to, żeby wyświetlić użytkownikowi kolejną stronę z listy i udostępnić przycisk, który pozwoli odpowiednio ją oznaczyć.
Oczywiście Java nie jest najlepszym rozwiązaniem, jakie można tu zaproponować, ale chciałam zrobić to gwałtownie w języku zrozumiałym dla większości zainteresowanych osób. Na Stack Overflow znalazłam kilka wątków pokazujących, jak uruchomić domyślną przeglądarkę internetową w danym systemie, ale po pierwsze przechwycenie danych z niej to wyższa szkoła jazdy, a po drugie chciałam otwierać kolejne strony w tej samej zakładce.
Z pomocą przyszła JavaFX, a dokładniej komponent WebView oparty na otwartym silniku WebKit. W tej wersji uruchomienie przeglądarki i obserwowanie zachowania użytkownika staje się dziecinnie proste. Poniżej całość kodu, który:
- wyświetla stronę startową
- wypisuje w konsoli kolejne strony odwiedzane przez użytkownika
Najważniejsze linie:
- 13: aplikacja JavaFX
- 22: tytuł okienka
- 24: pionowy układ elementów
- 27: etykieta wyświetlająca aktualny url
- 30-31: przeglądarka i strona startowa
- 34-41: obsługa zdarzenia: załadowanie nowej strony (z lambdą!)
Fajne, prawda?