czwartek, 28 lutego 2013

JavaFX review

Jakoś nie spotkałem zbyt wielu postów o JavieFX (a jest warta uwagi) więc postanowiłem napisać coś od siebie. Czym właściwie jest JavaFX ? większość już pewnie spotkała się z tą technologią ale dla niewtajemniczonych: jest alternatywą dla wysłużonego już Swinga, udostępnia naprawdę ładnie wyglądające elementy przy pomocy których można budować całkiem miłe dla oka aplikacje.
Jakby ktoś chciał więcej to KLIK

W tym poście chciałem pokazać(raczej po łebkach) budowę prostej aplikacji za pomocą której możemy zalogować się na naszego e-mail'a oraz wysłać z niego prostą wiadomość tekstową(mówiąc prościej, bardziej rozbudowany Hello World).

Jeżeli ktoś nie posiada JDK w wersji 7, możesz pobrać FX'a dla wersji 6.

A i jeszcze jedno, mój projekt nosi nazwę SimpleJavaFXexample(jakby ktoś chciał kompilować). Najpierw stworzymy sobie sam interface ( trochę na opak, ale tak mi wygodniej ). Dodamy 4 pola z których pobierzemy port, adres serwera smtp, email i hasło, dodatkowo jeden button też się przyda(akcje do niego dodamy potem).

Co robi TextField oraz Label raczej nie trzeba tłumaczyć, ale ciekawy jest HBox - możemy sobie nim wygodnie "manipulować" (taki fxml'owy div).

Teraz przydało by się stworzyć kontroler(umieścimy w nim na starcie akcje dla buttona i zmienne które odpowiadają za tekst wprowadzany do pól). Jest też widok do którego dodałem metodę pobierającą instancję - dzięki temu będziemy mogli wywołać changeStage w kontrolerze. Żeby sfinalizować nasz "związek" musimy zaktualizować kontroler: Teraz po naciśnięciu przycisku "Dalej" przeładujemy plik fxml z Sample.fxml na finalFXML.fxml(który teraz stworzymy ):

Teraz zostaje nam dopisanie(w kontrolerze)akcji dla dwóch przycisków i dwóch pól zadeklarowanych w finalFXML.fxml: Ostatnim krokiem będzie stworzenie klasy odpowiedzialnej za wysyłanie wiadomości. Do tego musimy użyć JavaMail'a którego można pobrać tu: KLIK
Klasa SendClass (nazwa bardzo oryginalna, wiem:)) prezentuje się następująco: Musimy dodać do kontrolera kila pól oraz zaktualizować metody o kilka linijek: To wszystko zebrane do kupy, skompilowane i uruchomione powinno wysyłać wiadomości z tytułem "test"(dodanie pola do wpisywania tematu to powiedzmy zadanie domowe :)). Uruchomiony appek wygląda tak:



*Do wysyłania wiadomości email wykorzystałem kod pochodzący z:KLIK
P.S W następnym poście poprawimy wygląd tego cuda za pomocą CSS'a.