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 niveauJFrame
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 ...
1140
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