În unele sisteme de interfață grafică, în locul casetei de validare se foloseste un comutator ("switch"). Acesta are aspectul unui buton, la care ambele stări ("apăsat" și "eliberat") sunt stabile, trecerea de la o stare la alta făcându-se la fiecare click de mouse pe suprafața butonului. Din punct de vedere funcțional, astfel de comutatoare se comporta identic cu casetele de validare, diferența fiind numai în aspectul grafic. |
În JFC/Swing casetele de validare se realizează folosind clasa javax.swing.JCheckBox,
care este derivată din clasa javax.swing.JToggleButton.
Dintre evenimentele generate de caseta de validare, cel mai
important este java.awt.event.ItemEvent, care este ascultat de
clase cu interfața java.awt.event.ItemListener. Astfel de
evenimente sunt generate în momentele în care caseta a fost selectată
sau deselectată. Metoda prin care se captează astfel de evenimente
într-un ItemListener este public void itemStateChanged(ItemEvent e) Pentru a afla în ce stare se gasește caseta la un moment dat,
se folosește metoda |
În JFC/Swing, butoanele radio sunt realizate ca instanțe ale clasei javax.swing.JRadioButton,
care este derivată din clasa javax.swing.JToggleButton.
Gruparea butoanelor se face folosind clasa javax.swing.ButtonGroup.
Exemplu În fișierul TestButoane.java se dă un exemplu de aplicație, în care se testează butoanul simplu, caseta de validare și butonul radio.
În fereastra principală a aplicației apar: Ascultarea evenimentelor de acțiune (ActionEvent) și de selecție (ItemEvent) se face cu clasa Ascultare, care implementează interfețele ActionListener și ItemListener. Detectarea butonului care a fost apăsat, fie că este vorba de un buton simplu sau unul radio, se face în metoda actionPerformed(ActionEvent action) folosind metoda String getActionCommand() din clasa ActionEvent. Pentru a constata care caseta de validare care a fost selectată sau deselectată, în metoda itemStateChanged(ItemEvent item) se procedează astfel: se determină mai întâi obiectul selectabil (în cazul nostru caseta de validare) care a generat evenimentul, folosind metoda Object getItem() din clasa ItemEvent, după care se aplică metoda boolean isSelected() a acestui obiect. Fiecărui buton (sau casetă de validare) i-a fost atașată o mnemonică. Pentru comoditatea utilizatorului, tasta corespunzătoare a fost menționată între paranteze, în textul fiecărui buton. Dacă se dă comanda Alt-<Tastă mnemonică> se obține același efect ca atunci când se face click de mouse pe butonul respectiv. De exemplu, în loc de a apăsa cu mouse-ul butonul B2, se apasă simultan tastele Alt și F2. Simbolurile tastelor se găsesc în clasa java.awt.event.KeyEvent. |
Pentru aprofundarea folosirii diferitelor tipuri de butoane, recomandăm capitolul How to use Buttons, Check Boxes and Radio Buttons din Java Tutorial. |