zad8


laboratorium: zadanie 8 termin: 16 grudnia 2009 r.
kurs programowania w Javie
nawigator po systemie plików
Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek
Zadanie.
Napisz aplikację okienkową w technologii Swing, która będzie wspomagała nawigację po lokalnym systemie
plików.
W centralnej części aplikacji powinna się znajdować lista (klasa JList) z nazwami wszystkich plików
i podkatalogów w wybranym katalogu. Listę tą umieść w panelu z suwakami (klasaJScrollPane). Obok nazwy
pliku/katalogu powinna się znajdować informacja o dacie jego ostatniej modyfikacji. Jeśli bieżący katalog nie
jest katalogiem głównym, to pierwszym elementem na tej liście powinnien być napis  .. . Klasa ta powinna
reagować na podwójne kliknięcie na danym elemencie (zdarzenie akcji) i jeśli to jest nazwa podkatalogu lub
katalogu nadrzędnego  .. to należy zmienić katalog bieżący na ten wskazany, a w przypadku pliku graficznego
należy go pokazać w modalnym oknie dialogowym. Ponadto, jeśli najedziemy kursorem myszy na nazwę pliku,
to powinna się wyświetlać podpowiedz zawierająca rozmiar pliku (metodasetToolTipText()).
Pełna nazwa katalogu, którego zawartość przedstawiona jest na liście powinna być wypisana na etykiecie
(klasaJLabel) umieszczonej tuż nad listą. Do wyboru katalogu posłuż się obiektem klasyJFileChooser
uruchamianym po kliknięciu na przycisk (klasaJButton) znajdujący się pod listą. Po każdej zmianie katalogu
należy zaktualizować napis na etykiecie i zawartość listy (metodafireContentsChanged()). Na liście wszyst-
kie podkatalogi mają się znalezć przed plikami i każda z tych grup ma być uporządkowana alfabetycznie. Do
odczytania informacji o katalogu czy o pliku posłuż się obiektem klasyFile.
Swingowa lista jest przykładem wykorzystania architektury MVC. Zdefiniuj więc model danych oparty na
klasieAbstractListModel, w którym pamiętana będzie tablica plików i podkatalogów (tablicaFile[]) znaj-
dujących się w wybranym katalogu. W klasie tej nadpisz dwie metody: getElementAt()która ma zwracać
obiekt klasyFileigetSize()która ma zwracać liczbę plików i podkatalogów w bieżącym katalogu. Nato-
miast do modelu widoku dostarcz kreślarza (klasa implementująca interfejsListCellRenderer), który będzie
sterował wyglądem elementów listy w taki sposób, aby nazwy plików graficznych były wypisywane kolorem
zielonym, pozostałych plików kolorem niebieskim a nazwy podkatalogów kolorem czarnym.
Zadbaj o estetyczny wygląd aplikacji. Zaraz po jej uruchomieniu, ma zostać wyświetlona zawartość bieżą-
cego katalogu.
1


Wyszukiwarka

Podobne podstrony:
zad8 1
zad8*
zad8 2
8 M3 SzklarekM ŻurowskiŁ ZAD8
zad8
zad8
8 M1 MoniuszkoW DymekM ZAD8

więcej podobnych podstron