Este posibil să se specifice modul de aliniere a componentelor: la
stânga, la dreapta sau la centru. Aceasta se face fie specificând
alinierea ca argument al constructorului, fie invocând metoda
public void setAlignement(int align)
în care argumentul align poate fi FlowLayout.LEFT, FlowLayout.RIGHT
sau FlowLayout.CENTER.
Exemplul 1 În fișierul ButoaneF.java este dat un exemplu de aplicație, în care se testează gestionarul de poziționare FlowLayout. În fereastra aplicației sunt plasate mai multe butoane din clasa ButonContor și un buton de anulare a tuturor contoarelor. Numărul de butoane de contorizare este dat la punerea în execuție a aplicatiei, ca parametru în linia de comanda. Modificând cu mouse-ul dimensiunile ferestrei, putem constata cum se modifică în mod corespunzator dimensiunile și amplasarea butoanelor. Îtrucât la crearea gestionarului de poziționare nu s-a precizat alinierea componentelor, modul de aliniere este implicit CENTER.
Remarcăm că aplicația ButoaneF este o modificare a aplicației
Butoane din fișierul Butoane.java și se
deosebește de aceasta prin următoarele: |
Exemplul 2 În fișierul Aliniere.java este dată o modificare a aplicației din exemplul precedent, în care s-au introdus trei butoane suplimentare, care au ca efect modificarea alinierii butoanelor pe suprafața containerului. În acest scop: - Pentru a se afla care buton a fost acționat, în metoda actionPerformed() a clasei imbricate de ascultare a evenimentelor de acțiune Actiuni s-a invocat metoda getActionCommand()a clasei ActionEvent. Această metodă întoarce un String care, în mod obisnuit, este textul de pe butonul respectiv. Este posibil, totuși, să se modifice acest șir folosind metoda setActionCommand(String command), care există în toate clasele care generează evenimente de acțiune, de exemplu în clasa AbstractButton, din care este derivată și clasa JButton. - Modificarea alinierii se face invocând pentru gestionarul de poziționare metoda setAlignment(int align) a clasei FlowLayout. Dupa ce s-a aplicat această metodă, se invocă pentru conținutul ferestrei (contentPane) metoda doLayout() a clasei Container, pentru a se aplica efectiv noua poziționare.
|