Les champs de texte

Un champ de texte est un composant permettant d'afficher ou de saisir du texte. Dans le package swing, les champs de texte sont représentés par la classe JTextField.

Nous utilisons depuis longtemps des champs de texte pour lire des données ou afficher des résultats avec les procédures de la librairie JavaETBib. Avec ce qui suit, vous allez enfin savoir comment faire ceci sans utiliser ces procédures.

Sélection dans la palette

ChampDeTexteDsPalette.jpg, 60kB


Coté design

La propriété text d'un champ de texte peut vous servir à y mettre une valeur initiale ou valeur par défaut. Notez qu'elle contient au départ le nom du champ de texte. Si vous souhaitez que le champ de texte soit initialement vide, il vous faudra donc effacer cette valeur.

Méthodes utiles

Exemple

L'exemple présenté ici se trouve dans le dossier Exemple-Swing/ChampTexte. Il s'agit d'une nouvelle version du projet Addition qui n'utilise pas les fonctions de la librairie JavaETBib.

Fenêtre du projet
ProjetAddition.jpg, 13kB

La fenêtre comporte trois champs de texte CT_X (étiqueté X), CT_Y (étiqueté Y) et CT_Somme (étiqueté X + Y).

Code du bouton additionner
 private void BT_AdditionnerActionPerformed(...) {                                               
    int x, y, somme;
      x = Integer.parseInt(CT_X.getText());
      y = Integer.parseInt(CT_Y.getText());
      somme = x + y;
      CT_Somme.setText (Integer.toString(somme));
    } 

Pour lire la valeur de x, on applique la méthode getText au champ de texte CT_X. Cette méthode retourne la chaine de caractères représentant le nombre contenu dans ce champ de texte. Cette dernière est converti en nombre entier via la métode parseInt de la classe Integer.

La classe Integer est une classe enveloppe, c'est à dire une classe représentant un type primitif (dans ce cas le type int). Il en existe pour tous les types primitifs.

Inversement, pour afficher la somme dans le champ de texte CT_Somme, nous convertissons tout d'abord l'entier somme en chaine de caractères à l'aide de la méthode toString de la classe Integer (redéfinition de la méthode toString de la classe Object). Cette chaine est ensuite affichée dans le champ de texte via la méthode setText.