Descriptif 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
41 42 43 44 45 

Swing - Interface Homme-Machine

5.5.Les composants texte

5.5.1.JTextField

Ce composant est l’un des plus simple à utiliser pour la saisie de données, il ne permet de saisir q’une seule ligne de texte et ne prend pas en compte des styles (gras, italique …).
On peut utiliser l’un des deux constructeurs suivants :
    • JTextField() : Crée un champ de saisie vide
    • JTextField(String text) : Crée un champ de saisie avec un texte par défaut

Si vous souhaitez récupérer le contenu du champ de saisie, il vous faudra utiliser la méthode getText() qui vous retournera un objet de type String.

5.5.2.JPasswordField

Ce composant permet de créer un champ pour la saisie des mots de passe. Il s’utilise de la même manière que le composant précédent mais lorsque vous saisissez un caractère, celui-ci est remplacé par le caractère par défaut ‘*’. Ce dernier peut être remplacé à l’aide de la méthode setEchoChar(char).

Remarque : la méthode getText() de ce composant est à dépourvoir. Il faut utiliser la méthode getPassword() qui retourne un tableau de caractères (char []).

Voici un exemple d’utilisation :

JPasswordField monChamp = new JPasswordField() ;
monChamp.setEchoChar('-') ; // pour remplacer * par -
char[] resultat = monChamp.getPassword() ;
String conversionResultat = new String(resultat) ;

5.5.3.JTextArea

JTextArea est un composant semblable au JTextField car il permet à l’utilisateur de saisir du texte mais ce composant permet d’afficher plusieurs lignes de texte alors que le JTextField ne permettait d’en saisir qu’une seule. A l’instar de JTextField il ne permet pas d’afficher des polices et des couleurs de différents types. Il peut gèrer le passage à la ligne et permettre de spécifier si on peut couper un mot ou non.

L’ajout de texte dans un JTextArea se fait soit par le biais de l’utilisation de l’un des deux constructeurs suivants :
    • JTextArea (String text)
    • JTextArea (String text, int rows, int columns)
Il est aussi possible d’ajouter du texte grâce aux méthodes suivantes :
  • append(String text) : Ajout d’une chaîne à la fin du doument
  • insert(String text, int position) : Ajout d’une chaîne à une position donnée
  • replaceRange(String text, int start, int end) : Remplace la chaîne contenu entre start et end
  • setText(String text) : Remplace tout le texte par la chaîne

Voici un exemple d’utilisation :
JTextArea MonChamp = new JTextArea(); // construction de la zone de saisie
monChamp.setLineWrap(true); // passage à la ligne actif
monChamp.setWrapStyleWord(true); // refuser la coupure au milieu d’un mot

Le composant JTextArea est souvent utilisée avec un JScrollPane afin d’ajouter des barres de défilement.

5.5.4.JTextPane

Ce composant est l’un des composants texte les plus riches. Le JTextPane accepte différentes mises en forme ainsi que l’ajout d’autres composants graphiques ou d’images. JTextPane repose sur le concept de styles définis en java, qu’il est possible de personnaliser.

Voici les méthodes à employer pour ajouter d’autres composants ou des images dans votre JTextPane :
  • insertComponent(Component c) ajout d’un composant
  • insertIcon(Icon i) ajout d’une image

5.5.5.Définir des styles

Un style est encapsulé dans un objet d’une classe implémentant l’interface Style. Les styles forment une arborescence. A partir d’un parent unique, on définit les autres éléments de l’arborescence. La racine est donc le style par défaut.

L’obtention du style par défaut se fait de la manière suivante :
Style racine = StyleContext.
getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);

On peut alors modifier l’une des caractéristiques du style par défaut ainsi :
// Pour modifier le type de police
StyleConstants.setFontFamily(racine, "SansSerif");
// Pour modifier la taille de la police
StyleConstants.setFontSize(racine, 16);

Les autres styles vont alors pouvoir être définis à partir du style racine grâce à la méthode addStyle()
JTextPane txt = new JTextPane();

Style x = txt.addStyle("Italique", racine);
StyleConstants.setItalic(x, true);

Style y = txt.addStyle("Gras", racine);
StyleConstants.setBold(y, true);

Style z = txt.addStyle("check", racine);
StyleConstants.setComponent(z, new JCheckBox("bouton"));

Pour pouvoir attribuer un style au JTextPane, on peut utiliser la méthode setLogicalStyle(Style s)
JTextPane txt = new JtextPane();
txt.setLogicalStyle(txt.getStyle("Italique"));

5.5.6.Formater un contenu

Pour ajouter du texte formaté avec un style particulier, il faudra en plus de ce qui a été fait ci-dessus, passer par le biais d’une instance de Document, et de la méthode insertString(int,String,Style).
DefaultStyledDocument doc = new DefaultStyledDocument();
try {
doc.insertString(doc.getLength(), "Première ligne de texte.\n" ,racine);
doc.insertString(doc.getLength(), "Seconde ligne de texte (en gras).\n",
txt.getStyle("Gras"));
// On peut même ajouter des composants
doc.insertString(doc.getLength(), " ", txt.getStyle("check"));
} catch (BadLocationException e) {
}
txt.setDocument(doc); // Associer le Document au JTextPane

Descriptif 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
41 42 43 44 45 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Essentiels de cours Java
JavaEJB 3 - Les Entreprise Java Bean version 3 (JavaBeans)
Cet essentiel est la suite de « Entreprise JavaBean 2.1 ». Cependant, nous allons étudier les nouvelles spécifications 3.0 qui simplifient énormément le développement par rapport aux EJB 2.6/20/06
JavaSWT - Créer des interfaces graphiques performantes
SWT (Standard Widget Toolkit) est une librairie graphique qui vous permet de réaliser des applications graphiques Java beaucoup plus avancées et surtout plus rapide à l’exécution.1/29/06
JavaStruts - Un framework MVC pour vos applications J2EE
Struts est un framework open-source qui vous permet de gagner du temps, mais qui permet aussi de voir des applications complexes comme une suite de composants de base : Vues, Actions, Modèles. Vous gagnez ainsi en évolutivité et en lisibilité du code.1/13/06
JavaHibernate - Persistance objet - relationnel
Cet essentiel explique comment utiliser Hibernate afin de gérer la persistance objet relationnel au sein de vos applications Java.12/14/05
JavaIntroduction J2EE - Applications d'entreprise
Cours d'introduction aux diverses technologies et outils que l'on peut rencontrer dans le monde du Java orienté entreprise J2EE12/14/05
JavaEJB 2 - Les Entreprise Java Bean (JavaBeans)
L'objectif avec EJB2 (Entreprise JavaBeans) est d'introduire les concepts de l’Ingénierie Logicielle Basée sur les Composants.12/14/05
JavaDesign Pattern - Améliorez l'architecture de vos programmes
Afin de répondre a des situation récurrentes en programmation, les "design pattern" apportent une solution type à beaucoup de contraintes liées à la programmation objet.12/14/05
JavaArchitecture J2EE - Comment organiser son application J2EE
Ce cours explique comment créer un code modulable, lisible et évolutif afin d'assurer la pérénité de son application.12/14/05
JavaLes web-services - Publication de services
Le développement tend vers les technologies du Web. Il est difficile de faire la distinction entre les différents logiciels qui sont de plus en plus intégrés au Web. Les Web Services rentrent dans l’optique de différencier bien précisément les couches.12/14/05
JavaAnt - L'automatisation des tâches du programmeur
Ecrire des scripts afin d'exécuter les tâches récurrentes10/31/05
JavaIntroduction au langage Java - Présentation & historique
Présentation des origines du langage, ainsi que se buts premiers8/11/05
JavaLa Syntaxe Java - Bases & nomenclatures
Bases de la syntaxe du langage Java8/11/05
JavaLes Classes - Concepts & héritage
Base du développement objet en Java grâce aux classes8/11/05
JavaLes Exceptions - Gestion d'erreurs
Gérer les erreurs liés à la programmation8/11/05

Articles
Eclipse Europa : le successeur de Callisto
Après Eclipse Callisto (Eclipse 3.2), la fondation Eclipse sort la nouvelle mouture d'Eclipse appelée Europa (Eclipse 3.3) faisant ainsi passer le nombre de projets embarqués de 10 à 21. Que ceux qui sont réticents aux « distributions » d'Eclipse se rassu12/21/07
JavaCruiseControl : l’outil d’intégration continue à avoir dans sa boite à outils
CruiseControl est un projet open-source offrant de multiples fonctionnalités pour l’intégration, que ce soit pour des développements Java ou .Net. Il est courant sur un projet d’être plusieurs développeurs avec des tâches de développement réparties. Dans7/2/07
JavaEJB3 - Des concepts à l'écriture du code - Editions DUNOD
Consulter le résumé du premier ouvrage du laboratoire Sun de SUPINFO : EJB3 - Des concepts à l'écriture du code. Guide du développeur, éditions DUNOD.5/27/07
JavaPassage de certification Java Web (SCWCD)
Passer une certification est toujours un moment important car cela permet de mieux faire reconnaître ses compétences face à un recruteur ou un employeur.5/12/07
JavaGoogle Web Toolkit
Google Web Toolkit est un framework java pour générer du javascript et des requêtes Ajax à partir d’un code java. Voilà comment il fonctionne.5/10/07
JavaJ2ME Vs SDE
Demain, les terminaux « légers » seront plus nombreux que les ordinateurs personnels, ce qui entraîne une bataille sur le choix d’une plateforme identique à tous ces terminaux… Aujourd’hui nous retrouvons le J2ME ainsi que le SDE qui s’offrent une rude b4/22/07

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée