Przewidywany plan wykładów |
1. Obiektowość Javy I (repetytorium i synteza) Podstawowe definicje. Abstrakcja obiektowa. Hermetyzacja. Szczególne właściwości języka Java. |
2. Obiektowość Javy II (koncepcja polimorfizmu) Kompozycja. Dziedziczenie. Polimorfizm. Metody i klasy abstrakcyjne |
3. Obiektowość Javy III (interfejsy i klasy wewnętrzne) Interfejsy. Adaptery. Klasy wewnętrzne |
4. Wprowadzenie do współbieżności w Javie Tworzenie, uruchamianie, wstrzymywanie i kończenie wątków. Synchronizacja. Koordynacja. |
5. Strumienie Hierarchia i klasyfikacja klas strumieniowych, Operowanie na strumieniach i ich filtrowanie. Kodowanie. Utrwalanie obiektów (serializacja). Strumienie w Internecie. Nowe środki I/O w Javie 1.4: bufory i kanały. |
6. Kolekcje Klasy i interfejsy kolekcyjne - logika powiązań. Listy. Zbiory. Mapy. Iteratory, Algorytmy. |
7. Wprowadzenie do programowania GUI Okna. Kilka przykładów komponentów wizualnych. Koncepcja rozkładu. Kontekst graficzny: jak i kiedy wykreślane są komponenty wizualne? Buforowanie grafiki. |
8. Komponenty GUI Podstawowe komponenty AWT i Swingu oraz ich właściwości. Kontenery. Rozkłady. Wyspecjalizowane kontenery. Elementarne komponenty. Dialogi. Menu rozwijalne. |
9. Delegacyjny model obsługi zdarzeń I Koncepcje delegacyjnego modelu obsługi zdarzeń na przykładzie zdarzenia "akcja". Sposoby implementacji. Separacja kodu. |
10. Delegacyjny model obsługi zdarzeń II Rodzaje interfejsów nasłuchu i typy zdarzeń. Ich obsługa. Zarządzanie fokusem w Javie 1.4. Menu kontekstowe Własne interfejsy nasłuchu i typy zdarzeń. |
11. Zaawansowane właściwości komponentów Swingu Architektura okien Swingu. Obieralny wygląd (pluggable look and feel). Akcje. Mapy akcji i mapy klawiaturowe. |
12. Podstawy architektury MVC Idea MVC. Przegląd modeli danych/GUI oraz odpowiednie interfejsy nasłuchu. Programowanie list. |
13. Zaawansowane zastosowania MVC Wykreślacze komórek. Tabele i związane z nimi modele. Edytory komórek. Drzewa. Dokumenty tekstowe - proste i złożone, ich modele i edytory. |
14. Grafika i animacja Koncepcja kontekstu graficznego (powtórzenie i uzupełnienia). Grafika 2D: wykreślanie linii, kształtów i figur. Pióra i kolory. Zasady animacji. |
15. Dynamiczna Java i JavaBeans Dynamiczne kształtowanie fazy wykonania: niskopoziomowa refleksja. Koncepcja programowanie komponentowego i JavaBeans. Właściwości - ich rodzaje, nasluch zmian i wetowanie. Introspekcja. |
Literatura podstawowa: