Posts

Showing posts with the label GUI

JavaFX, czyli pierwszy widok dla lifetimera

Image
Postanowiłem stworzyć prosty minutnik w celu zaprezentowania proces tworzenia GUI w technologii JavaFX. Od czego zacząć? Zaczynając pracę z JavaFX 8 wystarczy mieć JDK 1.8. Biblioteki są zawarte w narzędziach deweloperskich Javy. Klasa uruchomieniowa Klasa główna powinna rozszerzać klasę javafx.application.Application, która pozwala w łatwy sposób uruchomić samodzielną aplikację. W funkcji main wywołujemy metodę launch(String... args) z argumentami aplikacji. Klasa Application jest klasą abstrakcyjną z jedną metodą do zaimplementowania. W funkcji abstrakcyjnej start(Stage stage) piszemy początkowy kod naszej aplikacji. U mnie klasa wygląda następująco: Ustawiam ikonę do okna aplikacji. Następnie wywołuję klasę, która reprezentuje mi scene konfiguracji minutnika. Teraz przedstawię wygląd pliku fxml: Przedstawię co dokładnie zaimplementowałem. <?import java.lang.*?> <?import java.net.*?> <?import java.util.*?> <?import javafx.scene.*?> <?impo...

JavaFx - co to takiego?

Szukając alternatywy dla swing'a do tworzenia GUI aplikacji desktopowych spotkałem JavaFX. Nazwa wydawała mi się znajoma, którą widziałem na różnych stronach oraz w netbeansie. Zawsze jednak myślałem, że to jakiś framework dla specjalnej platformy (np. jakiś android czy coś). Bardzo się jednak myliłem. Okazuje się, że sam Oracle uważa JavaFX za alternatywę do Swing'a i dlatego postanowiłem się bliżej przyjrzeć tej technologii. Po co w ogóle alternatywa? Przypuszczam, że każdy kto próbował pisać aplikacji w Swing'u, odczuł wrażenie, że robi masę niepotrzebnych rzeczy. Stworzenie prostego GUI zajmowało dużo czasu. Jednocześnie jak już coś się stworzyło to strach było poruszyć jedną kontrolką, żeby nie rozwaliło się całe GUI. Oczywiście dało się napisać to tak, aby strachu nie było. Tylko zajmowało to jeszcze więcej czasu. Swojego czasu używałem SWT/JFace. Muszę przyznać, że wolałem go od Swing'a. Rozkładanie kontrolek było bardziej intuicyjne, a obiekty pozwalały na le...