Obsługa zdarzeń. Wykład 4

Podobne dokumenty
Wykład 12: Obsługa Zdarzeń

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

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

Programowanie zdarzeniowe

Programowanie zdarzeniowe

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

Podstawowe informacje o apletach

LABORATORIUM 7 Cel: 1_1

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

GUI - projektowanie interfejsów cz. II

Programowanie obiektowe

Programowanie graficznych interfejsów użytkownika

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

Java biblioteka Swing

Graphic User Interfaces pakiet Swing

SWING. dr Jarosław Skaruz

Tworzenie i obsługa graficznego interfejsu uŝytkownika

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

Java - interfejs graficzny

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

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

POLIMORFIZM, INTERFEJSY, PROGRAMOWANIE ZDARZENIOWE

Interfejs graczny w Javie.

Przykładowe roz wiązanie:

Zastosowanie słuchaczy zdarzeń wg

Programowanie obiektowe

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

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

PROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH

Multimedia JAVA. Historia

Programowanie komponentowe

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Kontenery i komponenty graficzne

Projektowanie aplikacji internetowych laboratorium

Tworzenie elementów graficznych

Podstawy programowania obiektowego

Architektura interfejsu użytkownika

DIAGNOSTYKA DIAGNOSTYKA

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

Programowanie Obiektowe GUI

Rejestracja dokumentu PZ. Instrukcja stanowiskowa

Programowanie obiektowe

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Programowanie w języku Java WYKŁAD

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

Dodanie nowej formy do projektu polega na:

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List.

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

Laboratorium z informatyki sem. III/ćw. 2 Wydział Transportu PW /19 MATERIAŁY POMOCNICZE DO ĆWICZENIA 2

Programowanie obiektowe zastosowanie języka Java SE

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Arkusz kalkulacyjny EXCEL

Język Java część 2 (przykładowa aplikacja)

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

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

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

UMOWY INSTRUKCJA STANOWISKOWA

Klasy abstrakcyjne i interfejsy

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

Dokumentacja do API Javy.

Ćwiczenie 1: Pierwsze kroki

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

JAVA W SUPER EXPRESOWEJ PIGUŁCE

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Rejestracja dokumentu MMW i MMP. Instrukcja stanowiskowa

Ćwiczenia 9 - Swing - część 1

Wstęp do programowania

Wykład 5 Okna MDI i SDI, dziedziczenie

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007

PO/X. 1. Smartphone jako uniwersalny kontroler (myszka/gamepad/pistolet/3d)

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Laboratorium Systemów SCADA

Platformy Programistyczne Wykład z Javy dla zaawansowanych

Microsoft Visual C++

Programowanie obiektowe

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Programowanie obiektowe i zdarzeniowe

Instrukcja laboratoryjna nr.4

Klasy i obiekty cz II

Wizualne tworzenie aplikacji z wykorzystaniem

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

Aplikacje w środowisku Java

Kombinacje modyfikatorów klawiaturowych i kliknięć myszą dla obiektów powłoki

Instrukcja zarządzania kontami i prawami uŝytkowników w systemie express. v.7

Java: interfejsy i klasy wewnętrzne

programu Neofon instrukcja obsługi Spis treści

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Komputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu

TWORZENIE SZAF Z PATCH-PANELAMI

Języki i metody programowania Java Lab2 podejście obiektowe

PODRĘCZNIK UŻYTKOWNIKA PROGRAMU INTERCLINIC MODUŁ SZPITAL

Moduł Płace obszar ZFŚS Zeszyt Ćwiczeń

Programowanie obiektowe

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

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

Transkrypt:

Obsługa zdarzeń Wykład 4

Zdarzenia Zdarzenie niskiego poziomu to wciśnięcie klawisza klawiatury lub kliknięcie przycisku myszki. Większość zdarzeń jest generowana przez: mysz klawiaturę elementy interfejsu graficznego

Obsługa zdarzeń jest zawarta w pakiecie java.awt.event.

Przebieg obsługi zdarzenia źródło generuje zdarzenia zdarzenia są wysyłane do słuchaczy 1. Rejestracja słuchacza u źródła otrzymywanie zawiadomienia o zdarzeniach. 2. Słuchacz czeka na zdarzenie. 3. Słuchacz obsługuje je i powraca.

Źródła zdarzenia Zdarzenie to obiekt, który opisuje zmianę stanu źródła, spowodowane: Kliknięciem w klawisz; Ruch myszki; Wybór elementu z listy; itp. Jedno źródło moŝe generować kilka zdarzeń

Słuchacze Obiekty, które otrzymują informacje o zdarzeniach. Zarejestrowany u źródła!!! Implementuje metody przetwarzające dane związane ze zdarzeniem

Rejestracja słuchacza na wydarzenia TYPE JeŜeli jesteśmy zainteresowani reagowaniem na wystąpienie konkretnego zdarzenia, musimy w kodzie programu zidentyfikowaćźródło zdarzenia, Dla akcji uŝytkownika polegających na wciśnięciu przycisku programowego, źródłem jest przycisk (obiekt typu JButton) AddTYPEListener(TypeListner e) Źródło zdarzenia MouseMotion Key itd e to odwołanie do słuchacza zdarzeń

Słuchacz implementacja interfejsów dla rodzaju zdarzeń Interfejs KeyListner: void keypressed(keyevent ke) void keyreleased(keyevent ke) void keytyped(keyevent ke)

Zdarzenia AWTEvent KeyEvent generowany, gdy otrzymane jest wejście z klawiatury MouseEvent generowany, gdy mysz jest przesuwana, klikana, naciskana, zwalniania, itp. ActionEvent generowany gdy naciskany jest przycisk, wybierany element menu, itp. TextEvent generowany gdy zmienia się wartość pola tekstowego

Mysz - MousEvent MouseEvent InputEvent AWTEvent MOUSE_CLICKED - kliknięcie MOUSE_DRAGGED - przeciąganie MOUSE_ENTERED wejście do elementu MOUSE_EXITED wyjście z elementu MOUSE_MOVED - przesuwanie MOUSE_PRESSED naciskanie MOUSE_RELEASED - zwalnianie

Konstruktor dla Myszy MouseEvent(Component src, int type, long when, int modifiers, int x, int y, int clicks, boolean triggerspopup) src odwołanie do obiektu wywołującego zdarzenie type typ zdarzenia when czas systemowy, kiedy do niego doszło modyfiers które modyfikatory były wciśnięte X, y współrzędne myszy clicks liczba kliknięć triggerspopup czy pojawiło się menu

Metody zdarzenia dla Myszy int getx(), int gety() współrzędne myszy void translatepoint(int x, int y) zmiana współrzędnych zdarzenia int getclickcount() ilość kliknięć

klawiatura KeyEvent jest generowany dla wejścia z klawiatury. Trzy typy zdarzeń klawiatury: KEY_PRESSED klawisz jest naciśnięty KEY_RELEASED klawisz jest zwolniony KEY_TYPED znak jest wygenerowany Konstruktor zdarzenia klawiatury: KeyEvent(Component src, int type, long when, int modifiers, int code, char ch)

Kody klawiszy VK_ENTER VK_ESCAPE VK_CANCEL VK_UP VK_DOWN VK_LEFT VK_RIGHT VK_SHIFT VK_ALT

Metody zdarzeń char getkeychar() int getkeycode() CHAR_UNDEFINED gdy znak niedostępny. VK_UNDEFINED gdy kod niedostępny.

Źródła zdarzenia interfejs graficzny Button generuje ActionEvent gdy przycisk jest naciskany List generuje ActionEvent gdy element listy jest podwójnie klikany, a ItemEvent gdy element jest wybierany lub zwalniany Window generuje WindowEvent gdy okno jest aktywowane, zamykane, otwierany, minimalizowane, przywracane, usuwane

przykład public class przyklad implements ActionListener{ public void actionperformed(actionevent e){ String tekst=e.getactioncommand(); System.out.println(tekst); } przykład(){ JButton b = new JButton( przycisk ); b.addactionlistener(this); }

Interfejs KeyListener Interfejs do implementacji przez słuchacza klawiatury, aby ten mógł obsługiwać KeyEvent. void keypressed(keyevent ke) void keyreleased(keyevent ke) void keytyped(keyevent ke)

Przykład UŜytkownik naciska i zwalnia klawisz 'A'. Trzy zdarzenia: naciśnięty, znak, zwolniony.

Interfejs MousListener void mouseclicked(mouseevent me) void mouseentered(mouseevent me) void mouseexited(mouseevent me) void mousepressed(mouseevent me) void mousereleased(mouseevent me)

Interfejs MouseMotionListener void mousedragged(mouseevent me) void mousemoved(mouseevent me)

Zasady raz jeszcze implementować interfejs słuchacza tak by otrzymać powiadomienia o danym typie zdarzeń zarejestrować słuchacza jako odbiorcę powiadomień Źródło moŝe generować kilka typów zdarzeń. Słuchacz moŝe rejestrować odbiór wielu rodzajów zdarzeń, jednak musi implementować wszystkie interfejsy dla ich obsługi.