This shows you the differences between two versions of the page.
poo:laboratoare:11 [2018/12/03 17:08] carmen.odubasteanu |
poo:laboratoare:11 [2021/12/15 15:09] (current) mihai.nan |
||
---|---|---|---|
Line 7: | Line 7: | ||
<note important>Lista va afisa pentru fiecare carte titlul si autorul (numele icon-ului corespunzator va fi sirul vid "")! | <note important>Lista va afisa pentru fiecare carte titlul si autorul (numele icon-ului corespunzator va fi sirul vid "")! | ||
- | Lista trebuie sa fie una scrolabila.</note> | + | Lista trebuie sa fie una scrolabila. |
+ | </note> | ||
+ | {{:poo:laboratoare:prob1.png|}} | ||
===Problema 2=== | ===Problema 2=== | ||
Line 28: | Line 30: | ||
<note tip>GridLayout</note> | <note tip>GridLayout</note> | ||
+ | {{:poo:laboratoare:prob2.png|}} | ||
===Problema 3=== | ===Problema 3=== | ||
Pentru aplicația anterioară, implementați o modalitate de ștergere a unei celule selectate; operația se va executa la apăsarea unui buton adăugat pentru aceasta. | Pentru aplicația anterioară, implementați o modalitate de ștergere a unei celule selectate; operația se va executa la apăsarea unui buton adăugat pentru aceasta. | ||
+ | |||
+ | {{:poo:laboratoare:prob3.png|}} | ||
===Problema 4=== | ===Problema 4=== | ||
- | Realizați o aplicație care să permită afișarea tuturor fișierelor dintr-un director. Aceasta va conține, în partea stângă, un obiect de tip **//JTree//** ce va afișa directoarele și fișierele aflate în directorul părinte pe care dorim să îl explorăm, iar în partea dreapta un tabel, obiect de tip **//JTable//**, care va conține informații detaliate pentru fiecare fișier din directorul părinte. Mai exact, tabelul va avea următoarele câmpuri: numele, dimensiunea, data ultimei modificări și tipul. | + | Realizați o aplicație care să permită afișarea tuturor fișierelor dintr-un director. Aceasta va conține, în partea stângă, un obiect de tip **//JTree//** ce va afișa directoarele și fișierele aflate în directorul părinte pe care dorim să îl explorăm, iar în partea dreapta un tabel, obiect de tip **//JTable//**, care va conține informații detaliate pentru fiecare fișier din directorul selectat. Mai exact, tabelul va avea următoarele câmpuri: numele, dimensiunea, data ultimei modificări și tipul. |
{{:poo:laboratoare:aplicatie2.png|}} | {{:poo:laboratoare:aplicatie2.png|}} | ||
Line 39: | Line 45: | ||
===Problema 5=== | ===Problema 5=== | ||
- | Pornind de la aplicația implementată la problema precedentă, să se definească două clase ascultător compatibile cu interfața **//ListSelectionListener//**, implementând metoda **//valueChanged()//**, cu argument de tip **//ListSelectionEvent//**. | + | Pornind de la aplicația implementată la problema precedentă, să se adauge două JTextField-uri în care se vor completa numărul liniei şi respectiv al coloanei selectate din JTable. |
- | Metoda extrage numărul liniei sau coloanei selectate, uzitând metoda **//getMinSelectionIndex()//**, și afișează acest număr într-un câmp text. | + | |
- | Să se adauge cei doi ascultători la obiectele **//ListSelectionModel//**care vor fi extrase cu metoda **//getSelectionModel()//**. | + | |
+ | Pentru aceasta se vor defini două clase ascultător ANONIME compatibile cu interfața **//ListSelectionListener//**, în care se va implementa metoda **//valueChanged()//**, cu argument de tip **//ListSelectionEvent//**. | ||
+ | |||
+ | Se vor adăuga cele două clase ascultător anonime la obiectele **//ListSelectionModel//** pentru modelul pe linii, respectiv pe coloane al tabelului, modele care vor fi extrase cu metoda **//getSelectionModel()//** (vezi exemplu şi curs). | ||
+ | |||
+ | Exemplu: | ||
<code java> | <code java> | ||
ListSelectionModel rowSM = table.getSelectionModel(); | ListSelectionModel rowSM = table.getSelectionModel(); | ||
Line 48: | Line 57: | ||
</code> | </code> | ||
+ | {{:poo:laboratoare:prob5.png?700|}} | ||
===Problema 6=== | ===Problema 6=== | ||