• Aucun résultat trouvé

6. Utiliser AWT

6.2. Fenêtres et panneaux

6.2.8. Zones de texte

C'est un composant dans lequel l'utilisateur peut saisir plusieurs lignes de texte.

Créer une zone de texte de 2 lignes sur 30 caractères sans texte :

TTeexxttAArreeaa ssttrrAAddrreessssee == nneeww TTeexxttAArreeaa(3(300,, 22)); ;

Créer une zone de texte de taille indéterminée mais avec du texte :

TTeexxttAArreeaa ssttrrOObbsseerrvvaattiioonn == nneeww TTeexxttFFiieelldd((""cceeccii eesstt uunnee oobbsseerrvvaattiioonn""));;

Dans tous les cas, il faut utiliser la méthode init et y indiquer :

AdAddd((sstrtrMoMottPPaassssee));;

Les méthodes utilisables :

Nom Action getText() Retourne le texte contenu dans la zone

setText("texte par défaut") Remplir la zone avec le texte indiqué

setEditable(false) Indique que la zone ne peut pas être modifiée

setEditable(true) Indique que l'on peut saisir dans cette zone

isEditable() Retourne une valeur true si champ modifiable ou false dans le cas de zone protégée en saisie insert(string, int) Insère la chaîne de caractères à partir de la position

indiquée par int

replace(string, int1, int1) Remplace la chaîne de caractères à partir de la position indiquée par int1 jusqu'à la position int2

6.2.9. Cases à cocher

Ce sont des cases représentées par des carrés que l'on peut "cliquer" ou décliquer". Quand on peut avoir plusieurs cases à cocher, on utilise des CheckBox.

Quand on veut avoir des cases dont une seule peut être cliquée, on regroupe ces cases dans une CheckBoxGroup.

Créer une case à cocher sans texte :

CChheecckkBBooxx ssttrrCChhooiixx11 == nneeww CChheecckkBBooxx (());;

Créer une case à cocher avec texte :

CChheecckkBBooxx ssttrrCChhooiixx22 == nneeww CChheecckkBBooxx ((""OOKK""));;

Créer un groupe de cases à cocher :

C ChheecckkBBooxxGGrroouupp cciivviilliittéé == nneeww CChheecckkBBooxxGGrroouupp (());; CChheecckkBBooxx ssttrrMMoonnssiieeuurr == nneeww CChheecckkBBooxx ((""MMoonnssiieeuurr"",, cciivviilliittéé,,ttrruuee));; C ChheecckkBBooxx ssttrr MMaaddaammee == nneeww CChheecckkBBooxx (("M"Maaddaammee"",, cciivviilliittéé,,ffaallssee));; C ChheecckkBBooxx ssttrrMMllllee == nneeww CChheecckkBBooxx ((""MMaaddeemmooiisseellllee"",, cciivviilliittéé,,ffalalssee)); ;

Ici on affiche trois cases avec la case Monsieur cochée

Dans tous les cas, il faut utiliser la méthode init et y indiquer :

AdAddd((sstrtrMoMonnssiieeuurr));;

Les méthodes utilisables :

Nom Action setState(true) Permet de cocher la case

setState(false) Permet de décocher la case

getCurrent() Permet de déterminer la case cochée

6.2.10. Boutons

Ce sont des zones "cliquables" qui permettent de déclencher des actions.

Créer un bouton sans texte :

BBuuttttoonn bbttnnVViiddee == nneeww BBuuttttoonn (()); ;

Créer un bouton avec texte :

B

Buuttttoonn bbttnnOOkk == nneeww BBuuttttoonn ((""OOKK""));;

Dans tous les cas, il faut utiliser la méthode init et y indiquer :

AAdddd((bbttnnOOkk));;

Nous verrons lors de la gestion des évènements comment utiliser les boutons. OK

6.2.11. Listes de choix Comment créer une liste de choix :

CChhooiiccee CCoolloorrChChoooosseerr == nneeww CChhooiiccee(());; CCoolloorrCChhoooosseerr..aadddd((""GGrreeeenn""));;

CCoolloorrCChhoooosseerr..aadddd((""RReedd""));; CCoolloorrCChhoooosseerr..aadddd((""BBlluuee""));;

Les méthodes utilisables :

Nom Action getItem(int) Retourne le texte de l'élément n° int dans la liste countItem() Retourne le nombre d'éléments de la liste

getSelectedIndex() Retourne le n° d'élément choisi dans la liste

getSelectedItem(i Retourne le texte de l'élément choisi

select(int) Sélectionne le poste n° int dans la liste

select(String) Sélectionne le poste ayant le texte correspondant à la chaîne dans la liste

6.2.12. Listes à défilement LLiisstt llssttPPllaanneettee == nneeww LLiisstt((44,, ffaallsse)e);; //// ccrrééee uunnee lliissttee aavveecc 44 éélléémmeennttss vviissiibblleess //// mmaaiiss 11 sseeuull cchhooiixx ppoossssiibbllee ((fafallssee)) llssttPPllaanneettee..aaddddEElleemmeenntt(("M"Meerrccuurree""));; llssttPPllaanneettee..aaddddEElleemmeenntt (("V"Veennuuss""));; llssttPPllaanneettee..aaddddEElleemmeenntt (("T"Teerrrree""));; llssttPPllaanneettee..aaddddEElleemmeenntt (("M"Maarrss"")); ; llssttPPllaanneettee..aaddddEElleemmeenntt (("J"Juuppiitteerr"")); ; llssttPPllaanneettee..aaddddEElleemmeenntt (("S"Saattuurrnnee""));; llssttPPllaanneettee..aaddddEElleemmeenntt (("U"Urraannuuss""));; llssttPPllaanneettee..aaddddEElleemmeenntt (("N"Neeppttuunnee"")); ; llssttPPllaanneettee..aaddddEElleemmeenntt (("P"Plluuttoonn""));; ccnnttCCoonnttaaiinneerr11..aadddd((llssttPPllaanneettee));;

Les méthodes utilisables :

Nom Action

getSelectedIndexed() Retourne une matrice de n° d'éléments choisis dans la liste getSelectedItem(i Retourne une matrice de chaînes de caractères

7. Utiliser SWING

L'ensemble des composants Swing ont tous pour début de dénomination un "J". Ils se trouvent dans javax.swing.*.

Nous disposons d'une fenêtre principale que nous allons remplir avec des composants graphiques. On distinguera :

ˆ

Les conteneurs de haut niveau



JFrame



JWindow



Applet



JDialog

ˆ

Ainsi que des composants "légers"



JLabel ... 75



JTextField... 75



JTextArea ... 76



JButton ... 76



JRadioButton... 81



JComboBox... 97



JCheckBox ... 86



Jlist ... 90



JScrollBar... 130



JprogressBar... 131



JtoolBar ... 130



JOptionPane ... 102



JScrollPane... 90



JSplitPane... 140



JTabbedPane ... 130



Panel ... 111



JSlider... 123



JToolTip ... 96



JPasswordField... 76



Jtable ... 131



JTree ...

1

140



JColorChooser... 124



JMenu , JMenuBar,

et entrées de menus. 119



JPopupMenu... 130



JEditorPane



JTextPane



JFileChooser



JInternalFrame



Quand vous définissez un GUI (Interface Graphique Utilisateur), un certain nombre des composants sont déclencheurs d’évènements. Ces évènements seront à tester si nécessaire pour déclencher des actions de contrôle, de mises à jour, de changement d’interface, ….

Jusqu'à maintenant, nous faisions sans en avoir l'air de la programmation procédurale Nous allons ici entrer dans l'ère de la

Documents relatifs