Programowanie obiektowe Andrzej Zikowski Wykad 4 Jednoczesne wykonywanie
Programowanie obiektowe Andrzej Ziółkowski Wykład 4
Jednoczesne wykonywanie wielu programów na komputerze jednoprocesorowym
Program sterowany zdarzeniami
Przykład 1 – program rysujący (obsługa zdarzeń związanych z myszką) n Przykład 1 – klasa wywiedziona z JFrame ¨ pix – tablica o wymiarach ramki do zapamiętania pomalowanych pikseli ¨ start – metoda tworząca okno (frame – ramkę) oraz rejestrująca metody obsługi zdarzeń ¨ m. Move – metoda obsługująca zmianę położenia kursora myszki ¨ m. Click - metoda obsługująca kliknięcie myszki ¨ paint – nadpisana metoda klasy javax. swing. JFrame odpowiedzialna za „pomalowanie” okna ¨ main – metoda uruchamiająca program
Przykład 1 a
Przykład 1 b
Przykład 1 c
Zdarzenia standardowe n n n action – zajście akcji charakterystycznej dla obiektu item – wybranie opcji adjustment – zmiana belki na pasku przewijaka text – zmiana tekstu w polu tekstowym window – otwieranie, zamykanie, aktywacja, … okna component – ukrycie, pokazanie, zmiana rozmiaru mouse – kliknięcie, najechanie, … myszką mouse. Motion – ruch myszki key – wciśnięcie klawisza z klawiatury focus – zmiana aktywnego okna container – dodawanie i usuwanie komponentów
Zdarzenia mouse Występuje w obiektach klas: Canvas, Dialog, Frame, Panel, Window, Button Obiekt nasłuchujący: Mouse. Listener Metody obiektu nasłuchującego: n void mouse. Pressed( Mouse. Event e); n void mouse. Released( Mouse. Event e); n void mouse. Clicked( Mouse. Event e); n void mouse. Entered( Mouse. Event e); n void mouse. Exited( Mouse. Event e);
Zdarzenia mouse – metody Mouse. Event n n n get. Button – określa, który przycisk myszki został użyty get. Source – określa obiekt, w którym zaszło zdarzenie get. Click. Count – ilość kliknięć następujących szybko po sobie get. Point, get. X, get. Y – określenie położenia kursora myszy w momencie kliknięcia get. When – czas zdarzenia is. Alt. Down, is. Ctrl. Down, is. Shift. Down – czy w chwili zdarzenia był wciśnięty odpowiedni klawisz klawiatury
Zdarzenia mouse. Motion Występuje w obiektach klas: Canvas, Dialog, Frame, Panel, Window Obiekt nasłuchujący: Mouse. Motion. Listener Metody obiektu nasłuchującego: n void mouse. Dragged( Mouse. Event e); n void mouse. Moved( Mouse. Event e); Mouse. Event – taki sam obiekt jak dla zdarzeń mouse
Zdarzenia key Występuje we wszystkich graficznych obiektach Obiekt nasłuchujący: key. Listener Metody obiektu nasłuchującego: n void key. Pressed( Key. Event e); n void key. Released( Key. Event e); n void key. Typed( Key. Event e); Podczas pisanie na klawiaturze, po naciśnięciu klawisza generowane jest zdarzenie: key. Pressed, a po zwolnieniu: key. Released i key. Typed.
Zdarzenia key – metody key. Event n n n get. Key. Code – zwraca wirtualny kod klawisza: V_0, …V_9 – kody cyfr V_A, …V_Z – kody liter V_F 1, …V_F 12 – kody klawiszy funkcyjnych V_ALT, V_ENTER, V_ESCAPE, … - kody klawiszy specjalnych … get. Key. Char – zwraca kod znaku w standardzie unicode is. Alt. Down, is. Ctr. Down, is. Shift. Down, … - czy w chwili zdarzenia był wciśnięty odpowiedni klawisz klawiatury
Pakiet java. awt. event Zawiera interfejsy i klasy związane z obsługą zdarzeń Podstawowe typy klas: n xxx. Event – obiekt przekazywany do metody obsługującej zdarzenie, zawiera informacje o zdarzeniu np. współrzędne kursora myszki n xxx. Listener – wzorzec obiektu nasłuchującego, może mieć dużo metod i wszystkie muszą być implementowane n xxx. Adapter – implementuje wszystkie metody odpowiadającego Listener’a, można implementować dowolną liczbę metod.
- Slides: 14