Mirosław Ochodek Szkolenie finansowane ze ś rodków Europejskiego Funduszu Spo ł ecznego (75%) i bud ż etu pa ń stwa (25%)

Slides:



Advertisements
Podobne prezentacje
AWT i Swing, Layout Managers
Advertisements

przygotował Michał Wdaniec
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Programowanie obiektowe
Programowanie obiektowe
Zaawansowane komponenty graficzne Swing
Biblioteki graficzne: Swing, AWT, SWT
Proces doboru próby. Badana populacja – (zbiorowość generalna, populacja generalna) ogół rzeczywistych jednostek, o których chcemy uzyskać informacje.
Aplikacja MS Project w branży budowlanej Łukasz Jabłoński Katedra Konstrukcji Budowlanych Politechnika Lubelska.
Modele biznesowe. Podręcznik Model biznesowy to w pewnym sensie szkic strategii, która ma zostać wdrożona w ramach struktur, procesów i systemów organizacji.
1 Dr Galina Cariowa. 2 Legenda Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne Funkcje i układy arytmetyczne Układy mnożące.
NIE TAKI KOMPUTER STRASZNY JAK GO MALUJĄ PODSTAWY OBSŁUGI KOMPUTERA.
Android WYKŁAD 3. Agenda Odtwarzanie stanu Activity Walidacja danych z widoków Przycisk "wstecz" Material Design Fragmenty Implementacja GUI opartego.
Rozwój informatyzacji Rozwój informatyzacji - cele i wyzwania Agnieszka Konkel Konferencja: bezpieczeństwo teleinformatyczne państwa,
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
Mirosław Ochodek Szkolenie finansowane ze ś rodków Europejskiego Funduszu Spo ł ecznego (75%) i bud ż etu pa ń stwa (25%)
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Benchmarking – narzędzie efektywnej kontroli zarządczej.
OBYWATELSTWO POLSKIE I UNIJNE 1.Obywatel a państwo – zasady obywatelstwa polskiego 2.Nabycie i utrata obywatelstwa 3.Obywatelstwo Unii Europejskiej. 4.Brak.
Wyszukiwanie informacji w Internecie. Czym jest wyszukiwarka? INTERNET ZASOBY ZAINDEKSOWANE PRZEZ WYSZUKIWARKI Wyszukiwarka to mechanizm, który za pomocą.
BYĆ PRZEDSIĘBIORCZYM - nauka przez praktykę Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Ćwiczenia Zarządzanie Ryzykiem Renata Karkowska, ćwiczenia „Zarządzanie ryzykiem” 1.
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
Literary Reference Center Przewodnik
Bezpieczeństwo i zdrowie w pracy dotyczy każdego. Jest dobre dla ciebie. Dobre dla firmy. Partnerstwo dla prewencji Co badanie ESENER może nam powiedzieć.
Co potrafię w przyjaźni z komputerem?.  Z jakich elementów się składa? Z jakich elementów się składa?  Do czego służy? Do czego służy?  Jakie programy.
Prawo telekomunikacyjne Ewa Galewska CBKE. Sektor telekomunikacyjny Monopole naturalne Operatorzy zasiedziali Brak równowagi pomiędzy podmiotami Wysokie.
Stan wdrażania projektów systemowych w ramach PO KL w zakresie analiz zmian gospodarczych i realizacji Dolnośląskiej Strategii Innowacji Urząd.
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
Kontrakty terminowe na indeks mWIG40 Prezentacja dla inwestorów Giełda Papierów Wartościowych w Warszawie S.A. Dział Notowań GPW kwiecień 2005.
BYĆ PRZEDSIĘBIORCZYM - nauka przez praktykę Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
1 Spotkania lokalne organizowane są w ramach projektu systemowego Urzędu Marszałkowskiego Województwa Lubuskiego pn. „Budowa Lubuskiego Systemu Innowacji”
Porównywarki cen leków w Polsce i na świecie. Porównywarki w Polsce.
Access Bazy danych. Wygląd okna bazy danych (nowa wersja) Okno obiektów.
© 2014 IBM Corporation COMMON POLSKA 2014 JDBC z IBM System i Tomasz Piela & Marcin Wilk Global Technlonogy Services, IBM.
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
USTAWA O POMOCY PAŃSTWA W WYCHOWYWANIU DZIECI Program Rodzina 500 +
Model warstwowy OSI Model OSI (Open Systems Interconnection) opisuje sposób przepływu informacji między aplikacjami programowymi w jednej stacji sieciowej.
„Rozwój szkolnictwa zawodowego w Białymstoku w dostosowaniu do potrzeb rynku pracy” Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego.
Praca dyplomowa inżynierska Temat: Informatyczny system edukacyjny do przedmiotu „Podstawy Kryptologii” Dyplomant: Ewelina Bogusz Promotor: prof. zw.,
Microsoft PowerPoint. Metodyka „dobrej” prezentacji.
Konferencja Społeczeństwo Informacyjne Warmii i Mazur - kierunki rozwoju infrastruktury i e-usług w ramach Programów Operacyjnych współfinansowanych.
Teoria masowej obsługi Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Andrzej Feterowski Dyrektor Wydziału Informatyki Urząd Miasta Szczecin BEZPIECZNI RAZEM, czyli zachodniopomorski portal o bezpieczeństwie.
CAPS LOCK - CERTYFIKOWANE SZKOLENIA JĘZYKOWE I KOMPUTEROWE
Instalacja nienadzorowana windows xp Jakub klafta.
Realizacja działań w sferze nauki w ramach PO KL PRIORYTET IV – komponent centralny Działania w ramach Priorytetu IV koncentrują się na podwyższaniu.
Analiza, projekt i implementacja zintegrowanego systemu zarządzania i promocji dla branży gastronomicznej Krzysztof Grabalski 5921.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Usługa ePodatki (MF) Michał Dobrzyński, Departament Informatyki MRPiPS tel
Usługa PUE-ZUS (Platforma Usług Elektronicznych Zakładu Ubezpieczeń Społecznych) Michał Dobrzyński, Departament Informatyki MRPiPS
Podstawowe prace w jednym z najlepszych programów graficznych.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
Przeglądarka stron WWW
Full Text Finder Przegląd Publication Finder
Odczytywanie diagramów
Akademia C# lab. 9 Zdarzenia i delegaty.
Programowanie obiektowe
Budowa, typologia, funkcjonalność
Języki programowania.
Jak korzystać z usługi Video s i Raportu Kontaktów
Koszyk danych.
Microsoft Office Project 2003 Professional
temat stwierdzenie Grafika SmartArt z obrazami na czerwonym tle
PGO GUI - Swing Michail Mokkas.
Nasza działalność KLAVO to firma zajmująca się dostarczaniem usług dla instytucji kultury. Chcemy, aby zwiększały one jakość obsługi zwiedzających. Celem.
Autor: Magdalena Linowiecka
Najważniejsze operacje graficzne w programie GIMP
Zapis prezentacji:

Mirosław Ochodek Szkolenie finansowane ze ś rodków Europejskiego Funduszu Spo ł ecznego (75%) i bud ż etu pa ń stwa (25%) w ramach Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego 27 kwiecień 2007 Tworzenie GUI w Javie Swingujące programowanie

Plan ▪ Wprowadzenie Podejścia do budowy GUI w Javie ▪ Budowa GUI przy pomocy Swinga Wprowadzenie do JFC - Swinga Przegląd komponentów graficznych biblioteki oraz sposób zarządzania Grafika

Operating system sun.awt Swing ▪ JFC udostępniane z JRE (javax.swing.*) ▪ Kiedyś mało wydajny (polepszone od Java 1.4) ▪ Napisane w Javie (AWT – Java / C) ▪ Niezależne od platformy java.awt Swing

Operating system Windowing system JNI SWT ▪ Zależne od platformy (jest implementacja dla większości platform) ▪ Używa natywnych kontrolek systemowych (JNI) ▪ Tylko komponenty które nie są wspierane przez dany system operacyjny zaimplementowane ▪ Biblioteka wyższego poziomu JFace SWT JFace

Operating system Windowing system JNI SWT vs. Swing ▪ Zależne od platformy ▪ Wydajne ▪ Używa Observer Pattern ▪ Manager rozmieszczenia SWT JFace Operating system sun.awt java.awt Swing ▪ Niezależne ▪ Różnie to bywa ▪ Look and Feel ▪ Używa Observer Pattern ▪ Manager rozmieszczenia

Plan ▪ Wprowadzenie Podejścia do budowy GUI w Javie ▪ Budowa GUI przy pomocy Swinga Wprowadzenie do JFC - Swinga Przegląd komponentów graficznych biblioteki oraz sposób zarządzania Grafika

Java Foundation Classes Zawiera: ▪ The Swing Components ▪ Pluggable Look and Feel Support ▪ Accessibility API ▪ Java 2D API (Java 2 Platform only) ▪ Drag and Drop Support (Java 2 Platform only)

Podejście MVC ▪ Model – dane stanu konkretnego komponentu ▪ View – jak komponent jest widziany na ekranie ▪ Controller – jak występowanie zdarzeń łączy dwa powyższe

Swing hierarchia Kontenery najwyższego poziomu

Swing hierarchia

Wzorzec Composite

Kontenery najwyższego poziomu ▪ Każdy program napisany w Swingu, musi posiadać przynajmniej jeden kontener najwyższego poziomu JFrame ( pojedyncze okno aplikacji) JDialog (okienko dialogowe) JApplet (dla apletów)

Kontenery najwyższego poziomu

Hello world - JFrame Eclipse – przykład (1)

Menu ▪ Specjalna warstwa (Menu Bar) ▪ Menu składane z „klocków”

Menu Eclipse – przykład (2)

Obsługa akcji ▪ Obsługa zdarzeń oparta jest na wzorcu Observer/Listener ▪ Każdy komponent może być obserwowany przez wielu obserwatorów ▪ Każdy komponent może obsługiwać wiele typów słuchaczy (np. zdarzenia obsługi myszy, klawiatury, zmiany struktury itd.)

Wzorzec observer Lalaaaalalaa! Dziękujemy Proszę nie dzwonić, My zadzwonimy... Następny proszę!

Wzorzec observer

Swing/AWT & Observer JMenuItem menuItem.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { // tutaj kod obslugi // tutaj kod obslugi System.out.println(”Wybrano mnie”); }}); Listeners [menuItem]

Swing/AWT & Observer JMenuItem Listeners [menuItem] menuItem.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { // tutaj kod obslugi // tutaj kod obslugi System.out.println(”Wybrano mnie”); }});

Przykłady słuchaczy AWT Event listener interfaces in java.awt.events ▪ ActionListener ▪ AdjustmentListener ▪ AWTEventListener ▪ ComponentListener ▪ ContainerListener ▪ FocusListener Focus ▪ HierarchyBoundsListener Hierarchy ▪ HierarchyListener Hierarchy ▪ InputMethodListener ▪ ItemListener ▪ KeyListener ▪ MouseListener ▪ MouseMotionListener ▪ MouseWheelListener ▪ TextListener ▪ WindowFocusListener ▪ WindowListener ▪ WindowStateListener

Przykłady słuchaczy Swing Event listener interfaces in javax.swing.event ▪ AncestorListener ▪ CaretListener ▪ CellEditorListener ▪ ChangeListener ▪ DocumentListener ▪ HyperlinkListener ▪ InternalFrameListener ▪ ListDataListener ▪ ListSelectionListener ▪ MenuDragMouseListener ▪ MenuKeyListener ▪ MenuListener ▪ MouseInputListener ▪ PopupMenuListener ▪ TableColumnModelListener ▪ TableModelListener ▪ TreeExpansionListener ▪ TreeModelListener ▪ TreeSelectionListener ▪ TreeWillExpandListener ▪ UndoableEditListener

Menu Eclipse – przykład (3)

Look & Feel ▪ W JFC istnieje możliwość zmiany sposobu wyświetlania kontrolek ▪ Domyślny wygląd to Metal / Aqua ▪ Można wybrać wygląd systemu operacyjnego ▪ W JFC nie korzystano z kontrolek natywnych systemu (zmienione podejście ostatnio)

Look & Feel Eclipse – przykład (4)

Podstawowe komponenty ▪ JLabel ▪ JButton ▪ JCheckBox ▪ JRadioButton ▪ JPanel ▪ JSlider ▪ JColorChooser ▪ JTextField ▪ JList ▪ JScrollPane ▪ JTree ▪ … Eclipse – przykład (5)

Layout Managers ▪ Służą do automatycznego rozkładania komponentów ▪ Działają według określonych zasad ▪ Przykłady FlowLayout BorderLayout GridLayout GridBagLayout CardLayout

FlowLayout ▪ Układa komponenty od lewej do prawej w kolejnych wierszach Eclipse – przykład (6)

BorderLayout ▪ Każdy komponent umieszczany jest w jednym z pięciu rejonów: na dole, na górze, po lewo, po prawo po środku ▪ Komponenty dodawane do kontenera bez wskazania rejonu domyślnie dodawane są po środku ▪ Dodanie nowego komponentu do rejonu już posiadającego zawartość spowoduje jej podmianę Eclipse – przykład (7)

GridLayout ▪ GridLayout układa komponenty w komórkach siatki, której rozmiar określamy przy pomocy parametrów konstruktora. ▪ Komponenty zajmują kolejne komórki zgodnie z kolejnością dodawania. Eclipse – przykład (8)

GridBagLayout ▪ Zaawansowana możliwość układania komponentów, wpisywanych w siatkę Eclipse – przykład (9)

CardLayout ▪ Komponenty umieszczane jak talia kart Eclipse – przykład (10)

Różne rodzaje dialogów, udostępnianych przez klasę JOptionPane Okna dialogowe wejścia/wyjścia Tworzenie okien następuje poprzez wywołanie statycznych metod klasy JOptionPane. Metody te jako wynik zwracają kod wybranego przycisku albo wartość wprowadzanych do nich danych.

Plan ▪ Wprowadzenie Podejścia do budowy GUI w Javie ▪ Budowa GUI przy pomocy Swinga Wprowadzenie do JFC - Swinga Przegląd komponentów graficznych biblioteki oraz sposób zarządzania Grafika

Rysowanie na komponencie ▪ Każdy komponent ma metodę paintComponent, w której można rysować ▪ Można ją przeciążyć i zaimplementować własne rysowanie ▪ W metodzie dostępna jest zmienna typu Graphics, przekazywana jako parametr ▪ Możemy zrzutować ją na Graphics2D, aby otrzymać bardziej rozbudowany wachlarz możliwości

Rysowanie na komponencie ▪ Przydatne metody // Ustawienia ołówka — g.setColor(someColor); — g.setFont(someLimitedFont); // Rysowanie kształtów — g.drawString(...); — g.drawLine(...) — g.drawRect(...); // outline — g.fillRect(...); // solid — g.drawPolygon(...); // outline — g.fillPolygon(...); // solid — g.drawOval(...); // outline — g.fillOval(...); // solid

Rysowanie na komponencie ▪ Przydatne metody g2d.setPaint(fillColorOrPattern); g2d.setStroke(penThicknessOrPattern); g2d.setComposite(someAlphaComposite); g2d.setFont(anyFont); g2d.translate(...); g2d.rotate(...); g2d.scale(...); g2d.setTransform(someAffineTransform); g2d.draw(s); // outline g2d.fill(s); // solid

Przekształcenia

Przekształcenia

Przekształcenia

Przykład Eclipse – przykład (11)

Swing Dziękuje za uwagę