Lista zadań nr 3
JDBC i Java Swing
Wszystkie zadania z tej listy należy wykonać wykorzystując Oracle Database 10g i język Java
-
Mamy daną tabelkę Imie(Id PRIMARY KEY, Mianownik UNIQUE). Wykorzystując Java Swing
napisz program, za pomocą którego będzie można przeglądać i edytować tą tabelę. W aplikacji
powinien być komponent JList oraz grupy Nawigacja, Nowa pozycja oraz Edycja (do utworzenia grupy należy wykorzystać JPanel i ustawić odpowiednio właściwości krawędzi — efekt powinien
być taki, jaki można uzyskać poprzez znaczniki FIELDSET i LEGEND w HTML-u lub komponent
GroupBox w .NET-cie lub Delphi). Sposób działania ma być następujący.
- W komponencie typu JList należy umieścić listę samych imion (bez identyfikatorów). Dodatkowo, z tym komponentem powinien byc skojarzony obiekt ResultSet, skojarzony, tzn. że bieżące rekordy oraz dane w obu obiektach powinny być w każdym momencie takie same.
- W grupie Nawigacja powinny być cztery przyciski: Pierwszy, Następny, Poprzedni, Ostatni. Kliknięcie każdego z tych przycisków powinno oddziaływać zarówno na JList jak i na ResultSet.
- W grupie Nowa pozycja powinno być pole tekstowe oraz przycisk Dodaj. Dodanie nowego
imienia powinno mieć wpływ na zawartość bazy danych i zawartość komponentu JList.
- W grupie Edycja powinno być pole tekstowe, przycisk Edytuj, przycisk Zatwierdź i przycisk Anuluj. Podczas przeglądania imion pole tekstowe i przyciski Zatwierdź oraz Anuluj powinny być nieaktywne. Naciśnięcie przycisku Edytuj powinno spowodować nieaktywność wszystkich komponentów formatki poza polem tekstowym oraz przyciskami Zatwierdź i Anuluj w tej grupie. Z kolei naciśniecie jednego z dwóch w tym momencie aktywnych przycisków ma spowodować odpowiednie akcje oraz powrót do domyślnego ustawienia aktywności obiektów.
Wszelkie nie uwzględnione w powyższym opisie wątpliwości należy rozstrzygać zgodnie ze zdrowym
rozsądkiem lub wysłać maila do prowadzącego.
[3p]
-
Mamy daną tabelę Osoba(ID PK, Imie, Nazwisko, Telefon). Wykorzystując Java Swing i komponent
FilteredRowSet napisz program, za pomocą którego będzie można filtrować zawartość tej tabeli
(pomocne może być wykorzystanie przykładu TableBinding).
- Na formatce powinny być komponenty: JTable, JTextField i JRadioButton.
- W komponencie JTable mają być dane z tabeli Osoba, przy czym wyświetlone powinne być te osoby, których nazwisko zaczyna się lub zawiera tekst wpisany w komponencie JTextField, natomiast JRadioButton ma określać, czy tekst wprowadzony w polu JTextField będzie traktowany jako fragment, czy jako początek nazwiska.
- Komponent JTable ma się odświeżać przy każdej zmianie zawartości pola JTextField.
- Powinna być udostępnione edytowanie zawartości komórek i co minutę powinna być dokonywana synchronizacja z bazą danych.
[3p]
-
Mamy dane tabele Jednostka(ID PK, Nazwa) i Osoba(ID PK, ID Jednostka REF Jednostka, Imie,
Nazwisko, Telefon). Bazując na przykładzie ListComboBinding.java napisz aplikację, która pozwoli
zarządzać osobami z poszczególnych jednostek oraz samymmi jednostkami.
- Na formatce powinny być dwie grupy: Jednostki i Osoby. Definicja grupy jest taka sama jak
na poprzedniej liście zadań.
- W grupie Jednostki powinny być komponenty: JComboBox cbJednostki, JButton btDodajJednostke, JButton btUsunJednostke. Komponent cbJednostki powinien być tylko do odczytu i zawierać wszystkie jednostki. Po naciśnięciu przycisku btDodajJednostke powinno się pojawić okno modalne z polem tekstowym i dwoma przyciskami (OK, Anuluj), które umożliwi wprowadzenie nazwy nowej jednostki. Po naciśnięciu przycisku btUsunJednostke powinna zostać usunięta jednostka wraz z wszystkimi osobami z tej jednostki.
- W grupie Osoby powinny być komponenty: JList lstOsoby, JButton btDodajOsobe, JButton
btUsunOsobe. Komponent lstOsoby powinien zawierać osoby z jednostki aktualnie wybranej w cbJednostki. Działanie przycisków btDodajOsobe i btUsunOsobe powinno być analogiczne
do działania przycisków btDodajJednostke i btUsunJednostke.
[4p]