Liste în interfața grafică

Unele din componentele interfeței grafice Java, atât AWT, cât și Swing sunt reprezentări pe ecran ale unor liste conținute chiar în componenta respectivă. Toate listele din interfață grafică  sunt implementate ca tablouri, iar elementele lor, numite articole (item), sunt selectabile cu mouse-ul și, opțional, de la tastatura. Listele oferă, de asemenea, metode de adăugare și de eliminare a articolelor. Facem aici o trecere în revistă a acestor componente grafice.

Liste în AWT

Clasa java.awt.List (a nu se confunda cu interfața java.util.List !) are ca instanțe liste, ale căror componente sunt șiruri (instanțe ale clasei String). Pot fi selectate simultan unul sau mai multe articole. Dacă în spațiul rezervat pe ecran nu încape întreaga listă, aceasta este prevazută cu bare de defilare.

Clasa java.awt.Choice are ca instanțe liste ascunse, ale căror articole sunt șiruri (String). Pe ecran este vizibil numai unul din articole, restul fiind ascunse. Dacă se apasă cu mouse-ul pe capul listei, devine vizibilă întreaga listă, făcând posibilă selectarea altui articol.

Clasa java.awt.Menu are ca instanțe meniuri, ale căror articole sunt instanțe ale clasei java.awt.MenuItem. Un MenuItem (articol de meniu) poate conține un șir de caractere sau un alt Menu. Un Menu poate fi plasat numai într-o bară de meniu sau poate fi articol al altui meniu.

Clasa java.awt.PopupMenu este o subclasă a celei precedente și reprezintă un "menu derulant", care poate apare în orice punct al ecranului.
 

Liste Swing

Listele din Swing se deosebesc de cele din AWT în special prin faptul că articolele lor pot contine atât un text (String), cât și o imagine (Image). Ca orice componente Swing, ele pot fi încadrate într-o bordură.

Clasa javax.swing.JList este varianta Swing a clasei java.awt.List, dar nu are bare de defilare. Dacă spațiul rezervat pe ecran nu este suficient, pentru a putea fi vazută în întregime JList trebuie pusă pe un JScrollPane.

Clasa javax.swing.JComboBox este varianta Swing a clasei java.awt.Choice.

Clasa javax.swing.JMenu este varianta Swing a clasei java.awt.Menu, având articole din clasa javax.swing.JMenuItem. La rândul ei, JMenu este o subclasă a JMenuItem, deci un meniu poate avea ca articole alte meniuri.

Clasa javax.swing.JPopupMenu este varianta Swing a clasei java.awt.PopupMenu și conține articole din clasa javax.swing.JMenuItem.



© Copyright 2001 - Severin BUMBARU, Universitatea "Dunărea de Jos" din Galați