Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis, www.erudis.pl

Podobne dokumenty
Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Programowanie obiektowe

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Java jako język programowania

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

WPROWADZENIE DO JĘZYKA JAVA

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Android, wprowadzenie do SDK

Multimedia JAVA. Historia

Programowanie obiektowe zastosowanie języka Java SE

OpenLaszlo. OpenLaszlo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Programowanie w Javie Wykład 6 Okienka w Javie (AWT)

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

akademia androida Service, BroadcastReceiver, ContentProvider część IV

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Podstawy języka Java. przygotował:

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Visual Studio instalacja

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Języki i metody programowania Java. Wykład 2 (część 2)

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie elementów graficznych

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Programowanie obiektowe

JavaFX. Zaawansowane technologie Javy 2019

Programowanie telefonów z Windows Phone 7, cz. 2

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

SZKOLENIE TWORZENIE SYSTEMÓW

Dokumentacja aplikacji Szachy online

Automatyzacja Testowania w WEB 2.0

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Laboratorium 01: Poznanie środowiska programowania w języku Java [2h]

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Wykład 1: Wprowadzenie do technologii Java

Programowanie Obiektowe GUI

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Podstawy, środowisko JDK, kompilacja programów z linii poleceń

Podstawy Języka Java

Kurs programowania. Wykład 4. Wojciech Macyna. 23 marca 2016

Przykłady interfejsu TCP i UDP w Javie

ActiveXperts SMS Messaging Server

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

Wprowadzenie do J2ME

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Programowanie w Internecie. Java

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

WPROWADZENIE DO JĘZYKA JAVA

Forum Client - Spring in Swing

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Scala - programowanie obiektowo-funkcyjne

Java - interfejs graficzny

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

JavaFX. Programowanie Obiektowe Mateusz Cicheński

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

Programowanie obiektowe

WebAii Automation Framework

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Programowanie obiektowe

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Re_Forms 21 Często zadawane pytania (FAQ)

Visual VM, Java Management extension i inne ciekawostki

Enkapsulacja, dziedziczenie, polimorfizm

Java niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika

Aplikacje RMI Lab4

Tworzenie oprogramowania

Szkolenie Android dla początkujących

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Narzędzia i platformy programowania w Internecie

Podstawy programowania. Wprowadzenie

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Spis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4

Transkrypt:

Swing Application Framework czyli tam i z powrotem

Informacje o mnie Imię: Piotr Nazwisko: Kochański Praca: programista Java, PHP + kilka egzotycznych wynalazków Miejsce pracy: firma Erudis (prawdopodobnie najlepsza firma konsultingowa w okolicy :) ) Kontakt: p.kochanski@erudis.pl Więcej: www.xoft.pl

Agenda Wstęp Co jest trudnego w tworzeniu GUI? Swing brute force Swing Application Framework (JSR-296) co nam daje......i czego tam nie ma Demonstracje

Początki... 1995 Java 1.0 W zamierzeniach głównym przeznaczeniem Javy miały być... aplety, czyli aplikacje GUI uruchamiane z poziomu przeglądarki Plan nie do końca wypalił... Tworzenie GUI w Javie nie należało do przyjemności Konkurencja: dawniej: DHTML, Flash teraz: Flex, AJAX, Silverlight, JavaFX

teraz... SUN postanowił wrócić do źródeł Matisse (NetBeans GUI Builder) poprawa wydajności (Java 6.0) Swing Application Framework (Java 7.0)

Dlaczego tworzenie GUI jest trudne? Przecież mamy narzędzia do wizualnego tworzenia GUI Visual Studio NetBeans, wtyczki do Eclipse'a, itp. Co więc sprawia problemy? cykl życia aplikacji wielowątkowość zasoby/i18n obsługa zdarzeń

SAF = prostota

SAF = nie odstraszać

SAF co dostajemy? Minimalistyczne podeście, bez: języka skryptowego, znaczników GUI, IoC, XML-a, itp. Lepsze wsparcie ze strony narzędzi Standardowy sposób tworzenia GUI, programista nie jest zostawiony sam sobie // Wsparcie narzędzi, podejście klasyczne public class AplikacjaGUI{ public static void main(string[] args){ // Powodzenia!!! } }

Architektura SAF Dwie klasy do obsługi aplikacji (!!!) + dodatkowe, opcjonalne usługi

Cykl życia: klasa Application launch() wywołuje startup() w wątku Event Despatching Thread initialize() inicjalizacja tego, co potrzeba przed utworzeniem GUI startup() każda aplikacja przesłania tę metodę, tutaj tworzony jest interfejs użytkownika ready() wszystko to, co trzeba zrobić zaraz po utworzeniu UI exit() jeżeli nie zablokujemy operacji wyjścia z aplikacji, to jest ona zamykana shutdown() sprzątanie po sobie

Zasoby

Zasoby Tekst umieszczony w etykietach, na przyciskach, w menu, ikony, typ czcionki, użyte kolory, pliki i18n, pomoc dla użytkownika... SAF uspójnia obsługę zarządzania zasobami globalne zasoby dla całej aplikacji zasoby dla konkretnych klas Możliwość wstrzykiwania zasobów Konwersja (patrz dalej) Demonstracja

Zasoby konwersja # resources/app.properties font = Arial-BOLD-22 color = #BB0000 icon = next.png public class App extends SingleFrameApplication{ protected void startup() { ApplicationContext ctx = getcontext(); ResourceMap rsc = ctx.getresourcemap(); Color color = rsc.getcolor("color"); Font font = rsc.getfont("font"); Icon icon = rsc.geticon("icon"); label.setforeground(color); label.setfont(font); label.seticon(icon); //... }

Obsługa zdarzeń: akcje SAF pozwala definiować akcje bardzo prosto: bez interfejsów @Action Akcje uruchamiane w tle Generator NetBeans Demonstracja

Akcje: możliwości Łatwe przypisywanie jednej akcji do wielu kontrolek (przycisk, menu, toolbar) Blokowanie elementów UI przy akcjach uruchamianych w tle Możliwość monitorowania zadań uruchomionych w tle (TaskMonitor) Precyzyjna kontrola i synchronizacja zadań zadań uruchomionych w tle (TaskService) SAF jest przyjazną w użyciu nakładką na java.util.concurrent

Stan sesji Aplikacja pamięta swoją ostatnią konfigurację: rozmiar okna położenie okna

Podsumowanie Standardowy sposób oprogramowywania typowych zachowań UI Uproszczona obsługa zdarzeń, zarządzanie zasobami Integracja z Java 7 (SAF może się do tego czasu jeszcze zmienić!) Silne wsparcie ze strony NetBeans, ale można SAF używać z innymi IDE Przykładowa aplikacja + prezentacja: www.xoft.pl