Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

Podobne dokumenty
Programowanie zdarzeniowe

Java biblioteka Swing

Java - interfejs graficzny

Obsługa zdarzeń. Wykład 4

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

Programowanie obiektowe

Java SE Laboratorium nr 5. Temat: Obsługa zdarzeń

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

Programowanie zdarzeniowe

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

Programowanie graficznych interfejsów użytkownika

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

GUI - projektowanie interfejsów cz. II

Podstawy Swing. Tomasz Borzyszkowski

Programowanie w języku Java WYKŁAD

Java Foundation Clases. Tworzenie graficznych interfejsów użytkownika (GUI) w Javie

Programowanie zdarzeniowe

Podstawowe informacje o apletach

SWING. dr Jarosław Skaruz

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Wykład 12: Obsługa Zdarzeń

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

Klasy abstrakcyjne. Klasę abstrakcyjną tworzymy przy pomocy modyfikatora abstract

Scenariusz Lekcji. Część organizacyjna:

Programowanie Multimediów. Programowanie Multimediów JAVA. programowanie GUI. (AWT i Swing) [1]

Podstawy Języka Java

Graphic User Interfaces pakiet Swing

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

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

Informatyka i Ekonometria Programowanie komputerów Ćwiczenia Tworzenie aplikacji wykorzystaniem graficznego interfejsu użytkownika - Swing.

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006

Języki i metody programowania Java Obsługa zdarzeń - przykłady

LABORATORIUM 7 Cel: 1_1

Tworzenie elementów graficznych

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

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

setdefaultcloseoperation(jframe.exit_on_close);//obsługa zamykania aplikacji setvisible(true); } //wyświetlenie okna

Dodanie nowej formy do projektu polega na:

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Programowanie Obiektowe GUI

SWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe.

Programowanie obiektowe

Interfejs graczny w Javie.

Zaawansowane programowanie obiektowe. Wykład 3 część 2

Obsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener))

Języki Programowania II Wykład 7. Java Swing

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Architektura interfejsu użytkownika

Aplikacje w Javie wykład 12 Programowanie GUI

Applety Java. Applety są przykładem kodu Java wykonywanego po stronie klienta, ale bez ujawnionej (jak w przypadku skryptu) wersji źródłowej

Programowanie graficznych interfejsów uŝytkownika

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Kontenery i komponenty graficzne

Programowanie Obiektowe Java

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

Aplikacje w środowisku Java

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

PWŚG Ćwiczenia 13. Ukończoną pracę należy przesłać na adres lub

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.

Java jako zdalny interfejs aplikacji Webowych aplety

JavaFX. Zaawansowane technologie Javy 2019

Wykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy.

Tworzenie aplikacji graficznych SWT i JFace

PROGRAMOWANIE APLIKACJI MULTIMEDIALNYCH

Programowanie w języku JAVA. Wykład IV Swing - GUI

Laboratorium 8 ( Android -pierwsza aplikacja)

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Ćwiczenia 9 - Swing - część 1

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

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

Systemy operacyjne na platformach mobilnych

Programowanie obiektowe

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

16) Wprowadzenie do raportowania Rave

Edytor tekstu MS Office Word

Programowanie Obiektowe Java

O środowisku Windows. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

POLIMORFIZM, INTERFEJSY, PROGRAMOWANIE ZDARZENIOWE

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Programowanie Obiektowe Java

Aplikacje WWW - laboratorium

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

DIAGNOSTYKA DIAGNOSTYKA

Programowanie w języku Java

Podstawy technologii cyfrowej i komputerów

1. Przypisy, indeks i spisy.

Dokumentacja do API Javy.

Programowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Programowanie w Javie

Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java

Dodawanie grafiki i obiektów

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

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

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Instrukcja obsługi programu MPJ6

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

Klasy abstrakcyjne i interfejsy

Transkrypt:

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm

Abstract Window Toolkit Przekazuje tworzenie i obsługę do natywnych narzędzi GUI Przenośne, ale na najniższym wspólnym poziomie Rozszerzone przez Swing Swing jest nadbudówką na architekturze AWT mluckner@mini.pw.edu.pl 5/6/2014 2

Swing jest częścią Java Foundation Classes (JFC) Wszystkie komponenty są obsługiwane przez Javę Może być wolniejszy niż AWT Ma bogaty i wygodny zestaw elementów użytkownika Odporny na specyficzne błędy platform Zapewnia stabilną obsługę użytkownika na różnych platformach 3

Zajmiemy się Swingiem, ale Eclipse używa narzędzi SWT Oracle stworzyła alternatywną technologię nazwaną JavaFX 4

Komponenty Swing nazywają się na J JFrame JButton Mogą być pomylone z komponentami AWT: Frame Button Nie powinno się łączyć AWT i Swing Choć powinno to działać z Java 1.6 version 2 i późniejszymi 5

Tworzy ramkę. JFrame frame = new JFrame("FrameDemo"); Pozwala użytkownikowi ją zamknąć frame.setdefaultcloseoperation(jframe.ex IT_ON_CLOSE); Tworzy komponenty umieszczane na ramce. frame.getcontentpane().add(emptylabel) Ustala rozmiar ramki. frame.pack(); Wyświetla ją. frame.setvisible(true); 6

7

Wszystkie komponenty Swing rozpoczynające się na "J" dziedziczą z klasy JComponent Wybrane cechy Podpowiedzi Rysowanie i określanie granic Przełączenie wyglądu i zachowań Wsparcie dla layoutów Wsparcie dla przeciągnij i upuść Podwójne buforowanie Przypisywanie klawiszy 8

JButton Zwykły przycisk JCheck Box Zaznaczenie JRadioButton Przełącznik JToggleButton Łączenie cech przełącznika i zaznaczenia 9

Elementy menu mają podobną strukturę jak przyciski JMenuItem JCheckBoxMenuItem JRadioButtonMenuItem 10

W Javie kontrolujemy jak zdarzenia są przekazywane ze źródeł zdarzeń (przyciski, paski przewijania, ) do nasłuchiwaczy zdarzeń. Każdy obiekt może nasłuchiwać zdarzeń Można przypisać wielu nasłuchiwaczy do tego samego zdarzenia 11

MyListener listener = new MyListener (); JButton button = new JButton("Ok"); button.addactionlistener(liste ner); MyListener listener2 = new MyListener (); button.addactionlistener(liste ner2); class MyListener implements ActionListener { public void actionperformed(actioneven t event) { // reaction to button click goes here } } JButton ActionListener 12

Nie ogranicza się do przycisków Przykłady Wybór z listy podwójnym kliknięciem Wybór z menu Wciśnięcie klawisza nad polem edycji mluckner@mini.pw.edu.pl 5/6/2014 13

EventObject getsource() AWTEvent extends EventObject ActionEvent extends AWTEvent getactioncommand() 14

Window Listeners Mouse Listeners Item Listeners Property Change Listeners I więcej 15

Otwarcie okna Pierwsze pokazanie okna. Zamknięcie okna Usunięcie okna z ekranu. Minimalizowanie okna Zmniejszenie okna do ikony. Przywrócenie okna Przywrócenie wcześniejszego rozmiaru. Nadanie fokusa Przeniesienie aktywności z innego obiektu Aktywowanie okna (frame lub dialog) Okno otrzymało status aktywnego Deaktywowanie okna Okno straciło status aktywnego Maksymalizowanie okna Zwiększenie rozmiaru okna do maksymalnych rozmiarów 16

WindowListener Otwarcie i zamknięcie okna, Aktywacja i deaktywacja okna, Minimalizacja i przywócenie okna WindowFocusListener Okno stało się aktywne Okno przestało być aktywne WindowStateListener minimalizacja, przywrócenie, maksymalizacja, Przywrócenie rozmiaru. 17

MouseListener mousepressed mousereleased mouseentered mouseexited mouseclicked MouseMotionListener mousemoved mousedragged MouseWheelListener mousewheelmoved 18

MouseEvent getclickcount() getbutton() getx() gety() getpoint() MouseWheelEvent extends MouseEvent getwheelrotation() 19

ItemEvent jest generowane przez komponenty z interfejsem ItemSelecable. check boxes, check menu items, toggle buttons, combo boxes. Tylko jedna metoda public void itemstatechanged(itemevent e) 20

getitem() Zwraca obiekt, którego dotyczy zdarzenie. getstatechange() Zwraca typ zdarzenia (zaznaczone lub odznaczone). getitemselectable() Zwraca źródło zdarzenia. 21

Swing pozwala na stosowanie wielu L&F CrossPlatformLookAndFeel Wbudowane w Java SystemLookAndFeel natywne Synth Zdefiniowane w pliku XML 22

23

BorderLayout BoxLayout CardLayout FlowLayout GridBagLayout GridLayout GroupLayout SpringLayout 24