[PDF] [PDF] Introduction à lIHM – M2105 TD n° 5





Previous PDF Next PDF



[PDF] Partie II Sujet Programmation Orientée Objet – TP Swing Résumé

2) Sélectionner l'élément : Java>Swing>JFrame Visual Class dans l'arborescence des Wizards affichés 3) Saisir le nom de la classe (IHM_1) et de son package ( 



[PDF] L3 – Programmation Java TP Swing - Adrien Poupa

Consignes communes à tous les TP : - Développement en Java 7 sous Eclipse - Sauf exception explicitement autorisée tous les attributs seront déclarés 



[PDF] TD et TP du Module POA licence Informatique 3

TD et TP du Module POA licence Informatique 3 Pour le TP : Exo2_a_completer java Exercice 3 : TD et TP import javax swing *; import java awt *;



[PDF] Introduction à lIHM – M2105 TD n° 5

Ce TD/TP illustre la partie du cours sur la programmation des interfaces faire comprendre le fonctionnement de la conception d'une GUI en java Swing



[PDF] 175 exercices corrigés - Couvre Java 8 (Noire) (French Edition)

entièrement sur les composants Swing introduits avec Java 2 ceci aussi bien pour les applications autonomes que pour les applets La classe Clavier



[PDF] TD 7 IJA Les interfaces graphiques JAVA

Première bibliothèque graphique JAVA: AWT – Package java awt – Utilisation de code natif – Composants limités • Nouvelle bibliothèque: SWING



[PDF] QCM de Java corrigé - IRIF

QCM de Java corrigé 1 Java est un langage (a) Compilé (b) Interprété (c) Compilé et interprété (d) Ni compilé ni interprété



[PDF] TP n 2 Interfaces graphiques - IRIF

Le TP a pour vocation de vous faire découvrir les interfaces Samples puis Java et enfin Anagram Game puis acceptez tout ce que vous proposera l'IDE



[PDF] Programmation Java

Séance de TP N°11 : Réaliser une Interface Graphique avec Swing – Amélioration de Algorithmique et programmation en Java : Cours et exercices corrigés



[PDF] Le livre de JAVA premier langage Avec 109 exercices corrigés

Tableaux•Listes et dictionnaires•Archivage des données•Gestion des exceptions •Librairies AWT et Swing•Fenêtre clavier et souris•Interface graphique avec 



Exercices interface graphique java api swing gratuit en PDF

Support d'exercices corrigés à télécharger gratuitement sur interface graphique java api swing en pdf



[PDF] 175 exercices corrigés - Couvre Java 8 (Noire) (French Edition)

Conçu pour les étudiants en informatique ce recueil d'exercices corrigés est le complément idéal de Programmer en Java du même auteur ou de tout autre ouvrage





TP Swing - Java (Langage de programmation) - Scribd

TP Swing Préambule : Consignes communes à tous les TP : - Développement en Java 7 sous Eclipse - Sauf exception explicitement autorisée 



Examen corrige exercice corrigé java swing

Eléments de correction pour le TP n° 1 Exercice 1 import java awt *; import javax ?swing *; public class Dessin extends JFrame { public static void main(String 



[PDF] TD 7 IJA Les interfaces graphiques JAVA

Première bibliothèque graphique JAVA: AWT – Package java awt – Utilisation de code natif – Composants limités • Nouvelle bibliothèque: SWING



Td corrigé Exercice 1 - Exercices corriges pdf

Exercice 1 - Exercices corriges Ecrire un programme JAVA qui permet de calculer la moyenne de 5 entiers entrés comme paramètres de la classe et l'afficher 



Td corrigé 119 Swing et NetBeans (Création de JFrame) - Free pdf

C'est une extension d'AWT intégrée à partir de Java 2 Les composants graphiques de l'interface Swing sont complètement écrits en Java (à la différence d'AWT) 



debutant java : exercices corrigés programmation graphique 2

CORRECTION EXERCICE 1 1 import javax swing *; import java awt event *; 2 import java awt *; import javax swing event *; 3 4 class Fenetre extends JFrame 



Swing - Java Avancé - Cours et Exercices corrigés

exelib net est un service d'apprentissage de l'informatique par la pratique grâce à des supports de cours et des exercices et examens corrigés

:

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 1

4 ι ͷ

1 Objectifs

Ce TD/TP illustre la partie du cours sur la programmation des interfaces homme-machine. Les concepts principaux

abordés seront : Principe de la gestion des interfaces ǣ ‘-‹‘ †ǯévènement,

Notion de modèle et de vue

2±ƒŽ‹•ƒ-‹‘ †ǯ‹-‡"ˆƒ...‡ ‡

Un compte rendu donnant la réponse à chacune des questions posées devra être rendu à votre responsable de TD/TP par

[S2T][IHM][Gx][TDx]Nom-Prénom / Nom-Prénom

Avec Gx le numéro de votre groupe (exemple G1 pour le groupe 1) et TDx le numéro du TD/TP inscrit sur le sujet du

TD/TP (exemple TD1 pour le premier TD).

Vous ne pouvez pas faire 2 séances avec le même binôme. De même, vous ne pouvez pas faire plus de la moitié des séances

seul.

Pour la majeure partie des TD/TP de ce module, nous utiliserons le langage Java pour illustrer les concepts vus en cours.

TP chez vous, vous aurez besoin :

Du JDK Java (Java Standard Edition) : http://www.oracle.com/technetwork/java/javase/downloads/index.html

IDE Eclipse (Eclipse IDE for Java Developers) : https://www.eclipse.org/downloads/ la suite.

3 Exercice 1 : Java JFrame (obligatoire)

Dans ce premier TD/TP, nous allons découvrir les principaux composants Java, explorer quelques gestionnaires

D ȋ

"ƒ"Š‹...ƒŽ D•‡" -‡"ˆƒ...‡ : interface

D en java Swing. Il a

pour but de vous faire manipuler les concepts techniques principaux sur des exemples-jouets. Et cela dans le but de vous

préparer au TD suivant qui consistera en la réalisation une application complexe.

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 2

4 ι ͷ

3.1 Ma première fenêtre

Nous allons commencer par créer une fenêtre classique (JFrame).

¾ Créez un projet java TD1-exo1

¾ Créez une classe Exo1 (du package TD5).

¾ Ajoutez le code suivant dans votre classe

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable(){

@Override public void run(){ JFrame window = new JFrame(); //On crée une nouvelle instance de notre JFrame window.setSize(300, 200);//On lui donne une taille pour qu'on puisse la voir window.setVisible(true);//On la rend visible

On remarquera quǯ‘ —-‹Ž‹•‡ SwingUtilities.invokeLater comme vu à la fin du dernier cours. Je vous rappelle que

des modifications graphiques.

¾ Pour “—‡ ...‡Žƒ ˆ‘...-‹‘ǡ ‹Ž ‡•- ±...‡••ƒ‹"‡ †ǯƒŒ‘—-‡" ͞ imports, quels sont-ils ?

¾ Compilez et exécutez votre code Java pour tester votre application. Pour cela vous pouvez soit utiliser votre IDE, soit

utiliser les commandes suivantes depuis la racine de votre projet (dans src si vous avez créé un tel répertoire).

javac TD1\Exo1.java java TD1.Exo1

3.2 Explorons un peu la JFrame

Pour simplifier la suite du TD, on va créer notre propre classe de type JFrame. officielle java : https://docs.oracle.com/javase/8/docs/api/index.html package TD1; public class MaFenetre extends JFrame { * Nécessaire pour la sérialisation private static final long serialVersionUID = 1345376003869391813L; public MaFenetre(){ //On appelle le constructeur de la JFrame

InitializeComponent();

private void InitializeComponent() { // on définit le titre de la fenêtre avec le texte "Ma fenêtre Java !!" // on définit la taille de la fenetre à 600 par 400 px this.setLocationRelativeTo(null);

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 3

4 ι ͷ

¾ Modifiez la classe Exo1 pour utiliser votre classe " MaFenetre » en lieu et place de la JFrame. Pensez à supprimer la

ligne " window.setSize(300, 200); ». Vous pouvez sauvegarder votre précédent exercice avant de faire les

modifications.

Poursuivons notre étude de la JFrame.

¾ Créez, depuis votre programme principal (classe Exo1), une deuxième fenêtre identique à la première.

¾ Vérifiez que vous avez bien 2 fenêtres. ¾ Que se passe-t-il quand vous fermez une fenêtre ?

¾ Toujours sans regarder sur le web, Ni tester, indiquez ce que fait cette nouvelle instruction. Vérifiez votre intuition

en exécutant votre code. ¾ Supprimez la 2eme fenêtre de votre code avant de passer à la suite. JFrame, vous pouvez consulter la JavaDoc officielle.

A savoir :

La fenêtre principale (JFrame) est un composant graphique comme les autres (ou presque). Elle

peut être configurée en fonction des besoins.

3.3 Comment ajouter des composants à notre fenêtre

Une JFrame est découpée en plusieurs parties superposées, comme le montre la figure suivante. Nous avons, dans l'ordre

la fenêtre ; le RootPane (en vert), le conteneur principal qui contient les autres composants ; le LayeredPane (en bleu), qui forme juste un panneau composé du conteneur global et de la barre de menu (MenuBar) ; la MenuBar (en orange), la barre de menu, quand il y en a une ; le ContentPane (en rose) : c'est dans celui-ci que nous placerons nos composants ; le GlassPane (en transparence), couche utilisée pour intercepter les actions de l'utilisateur avant qu'elles ne parviennent aux composants.

¾ Créez un bouton nommé bouton1 et ayant " Mon Bouton » comme texte et ajoutez-le à votre fenêtre avec la ligne

suivante : this.getContentPane().add(bouton1);

réalité le composant dans le contentPane. Cela est donc équivalent à ce que nous avons écrit précédemment

¾ Commentez le code précédent et ajoutez un bouton " anonyme » ayant le texte " CENTER » au centre de votre

JFrame. On a vu ça en cours.

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 4

4 ι ͷ

¾ Quelle est la différence entre un bouton et un bouton anonyme ?

¾ Ajoutez 4 autres boutons " anonymes », pour tester les 4 valeurs de BorderLayout qui correspondent aux points

cardinaux. Au final, on devrait avoir un bouton dans chaque zone.

Je vous rappelle que le ContentPane contient, par défaut, un gestionnaire †ǯagencement (layout manager) de type

BorderLayout.

4 Exercice 2 : Layout manager (obligatoire)

Les gestionnaires †ǯagencements (ou de placement) permettent de disposer les composants dans un conteneur en

caractéristiques des composants. De nombreux gestionnaires †ǯagencements sont disponibles en java. Dans la suite de ce

TD, nous allons seulement en voir quelques-uns.

méthodes suivantes : this.getContentPane().setLayout(monLayoutManager); // A utiliser de préférence this.setLayout(monLayoutManager);

4.1 Pas de gestionnaire (obligatoire)

Ce cas correspond à celui où le conteneur n'a pas de gestionnaire †ǯagencements. Dans notre cas il faut supprimer celui par défaut (myJFrame.getContentPane().setLayout(null)). Les composants ont un emplacement et une taille fixe. ¾ Ajoutez trois boutons à votre fenêtre et supprimez le gestionnaire ¾ Modifiez la propriété de votre fenêtre pour pouvoir modifier dynamiquement sa taille. ¾ Est-ce que le fait de retailler ma fenêtre impact mon positionnement ?

A savoir :

les composants graphique un à un. De

4.2 FlowLayout (obligatoire)

Les composants sont placés les uns à la suite des autres horizontalement, en passant à la ligne suivante quand il n'y a plus

de place sur la ligne. Chaque composant a sa taille préférée. Le gestionnaire de placement peut :

FlowLayout.CENTER : centrer les composants (valeur par défaut) FlowLayout.LEFT : aligner les composants à gauche FlowLayout.RIGHT : aligner les composants à droite

FlowLayout.LEADING : aligner les composants à partir du bord du conteneur. Ce bord est défini en fonction de

(ComponentOrientation.LEFT_TO_RIGHT) et à droite si le conteneur est orienté de droite à gauche

(ComponentOrientation.RIGHT_TO_LEFT).

FlowLayout.TRAILING : aligner les composants à partir du bord du conteneur. Ce bord est défini en fonction de

(ComponentOrientation.LEFT_TO_RIGHT) et à gauche si le conteneur est orienté de droite à gauche

(ComponentOrientation.RIGHT_TO_LEFT).

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 5

4 ι ͷ

¾ Ajoutez un FlowLayout qui organise les composants en son centre. Il ˆƒ—- ŽǯƒŒ‘—-‡"  ˜‘-"‡ ContentPane mais

¾ Testez les autres paramètres du FlowLayout FlowLayout.RIGHT, FlowLayout.LEFT, FlowLayout.LEADING, FlowLayout.TRAILING

A savoir :

Le FlowLayout

graphiques les uns à la suite des autres horizontalement.

4.3 BorderLayout (conseillé)

Il ne peut donc pas contenir plus de 5 composants. Dans les zones nord, sud, est et ouest, les composants sont placés en

fonction de leur taille préférée, le composant du centre occupe alors toute la place restante.

bouton 3 au sud. ¾ Testez. Que constatez-vous ? Est-ce que les boutons ont les tailles souhaitées ?

¾ Utilisez la méthode setPreferredSize en lieu et place de la méthode setSize pour vos 3 boutons.

¾ Testez. Que constatez-vous ? Est-ce que les boutons ont les tailles souhaitées ?

Les composants sont séparés, horizontalement et verticalement, par des espaces qui peuvent être modifiés par les

méthodes monBorderLayout.setHgap(int g) et monBorderLayout.setVgap(int g). Ceci est vrai pour une majorité de

¾ Testez cela via la méthode suivante :

A savoir :

Le BorderLayout

4.4 GridLayout (conseillé)

Les composants sont placés dans un tableau à deux dimensions. S'il y a plus de composants que le nombre de cases

(colonnes*lignes), le système ajoute autant de colonnes qu'il faut pour que le nombre de cases soit supérieur ou égal au

componentOrientation du conteneur. ¾ Modifiez la LayoutManager de votre application pour en faire un GridLayout. this.getContentPane().setLayout(new GridLayout()); //constructeur par défaut this.getContentPane().setLayout(new GridLayout(nbLignes,nbColonnes));

¾ Que se passe-t-il avec le constructeur par défaut ? et avec les paramètres (1,2) ? et avec (2,1) ?

¾ Vérifiez et testez ce qui se passe en changeant la propriété componentOrientation du conteneur.

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 6

4 ι ͷ

4.5 BoxLayout (conseillé)

Permet de placer des composants soit horizontalement, soit verticalement. Ce gestionnaire de placement respecte la

taille maximum et l'alignement de chaque composant.

Les composants sont insérés dans le conteneur en fonction du second paramètre du BoxLayout :

X_AXIS : les composants sont placés horizontalement de gauche à droite, en respectant leur alignement par

rapport à une ligne horizontale passant au milieu du conteneur.

Y_AXIS : les composants sont placés verticalement de haut en bas, en respectant leur alignement par rapport à

une ligne verticale passant au milieu du conteneur. LINE_AXIS : comme X_AXIS, mais en respectant l'orientation du conteneur. PAGE_AXIS : comme Y_AXIS, mais en respectant l'orientation du conteneur.

¾ Ajoutez des tailles maximales à vos différents boutons. Chaque bouton devant avoir une taille maximale différente de

celle des autres boutons et supérieure à sa taille et à sa taille préférée. bouton1.setMaximumSize(new Dimension(200,100)); this.getContentPane().setLayout(new BoxLayout(this.getContentPane(), BoxLayout.X_AXIS));

¾ Testez ce ‘—˜‡ƒ— ‰‡•-‹‘ƒ‹"‡ †ǯƒ‰encement.

¾ Testez également les autres valeurs du 2eme paramètre.

malheureusement pas le temps de tous les explorer. Vous pouvez les consultez sur la Java Doc officielle. Vous pouvez

4.6 La méthode pack()

Avant de poursuivre le TD/TP, on va faire un petit aparté pour voir le fonctionnement de la méthode pack().

¾ Ajoutez des boutons de la taille du bouton2 et de manière à avoir 2 ou 3 lignes de composants dans votre fenêtre.

¾ Ajoutez this.pack() ; à la fin de votre méthode InitializeComponent().

¾ Testez. Que se passe-t-il ?

¾ Commenter la méthode qui donne une taille à votre fenêtre. Que se passe-t-il ?

A savoir :

Pack adapte la fenêtre à la taille préférée et à la mise en page de ses sous-composants.

5 Exercice 3 : Les composants de base (obligatoire)

Nous ne reviendrons pas sur le bouton que nous avons déjà un peu utilisé.

5.1 JPanel (obligatoire)

Le JPanel est un conteneur. On va voir comment il fonction et comment on ¾ Créez un nouveau projet et ajoutez une fenêtre semblable à celle ci- contre. ¾ Ajoutez un 6éme bouton au centre. Que se passe-t-il ? Voyons maintenant, comment avec le JPanel on arranger cela.

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 7

4 ι ͷ

¾ Retirez les 2 boutons qui sont au centre de la fenêtre et créez un JPanel ¾ Ajouter les 2 boutons dans le JPanel (celui-ci a par défaut un ¾ Ajoutez le JPanel au centre de la fenêtre.

¾ Observez le résultat.

¾ Ajoutez les boutons nécessaires (9 au total) et modifiez votre code pour obtenir un résultat similaire à celui-ci-contre. Comme on a pu le voir avec les 2 exemples ci-dessus, on peut

5.2 JRadioButton (obligatoire)

Un bouton radio est un bouton qui peut être sélectionné ou non. Les méthodes isSelected et setSelected sont

également disponibles pour les boutons radio.

¾ Créez 3 boutons radio (" un », " deux » et " trois »). Seul le premier sera sélectionné initialement.

¾ Testez.

¾ Créez un ButtonGroup et ajoutez les boutons radio dans le groupe.

¾ Testez.

¾ Expliquez le changement de comportement.

¾ Faut-il ajouter uniquement dans le groupe ou faut-il aussi les ajouter dans le conteneur graphique (JPanel ou

contentPane de la JFrame) ?

5.3 JCheckBox (conseillé)

La JCheckBox est une boîte à cocher. La méthode maJCheckBox.isSelected() permet de savoir si la boîte à cocher est

sélectionnée ou non. La méthode maJCheckBox.setSelected(boolean selection) permet de sélectionner ou

désélectionner la boîte à cocher.

¾ A˜ƒ- †ǯƒŽŽ‡" "Ž—• Ž‘‹ǡ ..."±± — ‘—˜‡ƒ— ""‘Œ‡- ƒ˜‡... —‡ ˆ‡‡-"‡ ȋ

¾ Ajoutez un JCheckBox dans votre fenêtre.

JCheckBox maJCheckBox = new JCheckBox("message", false);

¾ Testez.

A savoir :

Une case à cocher (JCheckBox) sert à définir une option " unique », activable ou désactivable.

Un bouton radio (JRadioButton

boutons radio dans un ButtonGroup) pour présenter un choix.

Dans les deux éléments précédents, il est très important de bien choisir la valeur par défaut

(case cochée ou non, lequel des boutons radio est sélectionné).

5.4 JLabel (conseillé)

Un JLabel sert à afficher du texte.

¾ Ajoutez un JLabel à votre fenêtre

JLabel monLabel = new JLabel("Mon étiquette");

¾ Testez.

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 8

4 ι ͷ

5.5 JTextField (conseillé)

Un JTextField est une zone d'édition de texte comportant une seule ligne. Les méthodes monJTextField.getText() et

monJTextField.setText(String s) permettent de récupérer le texte tapé par l'utilisateur, ou d'affecter un texte au

JTextField.

¾ Ajoutez un JTextField à votre fenêtre

JTextField monJTextField = new JTextField("Mon texte"); monJTextField.setColumns(20);

¾ Testez.

A savoir :

JTextField

6 Exercice 4 : Evènements (obligatoire)

Nous allons maintenant ajouter des évènements à nos différents composants. Pour cela nous allons reprendre les

différents éléments étudiés en cours.

6.1 Écouteurs et les classes anonymes

¾ Revenez sur le projet des bouton radioǡ ǥ

¾ AŒ‘—-‡œ — ±...‘—-‡—" †ǯƒ...-‹‘ •ur chacun des 3 boutons radio. Quand un bouton radio est sélectionné, on ajoutera

" est sectionné » à la fin de son étiquette (texte). Et on le supprimera quand il ne lǯest plus.

¾ Attention, pensez à modifier le texte initial du bouton sélectionné de manière à avoir un peu de cohérence.

A savoir :

Listener.

6.2 Factorisation du code

On voit que cette méthode, même si elle est pratique pour écrire rapidement un écouteur pour un composant, ne permet

pas de factoriser le code et ici vous avez écrit 3 fois la même chose, ou presque. Une des solutions de factorisation est de

déporter le code dans une méthode appelée dans chaque écouteur. Lǯautre solution est de partager le même écouteur

entre les différents éléments.

¾ Modifiez votre code de manière à utiliser le même ActionListener pour tous vos boutons radio.

" Action ». Pour rappel, Žǯ‘"Œ‡- ‡ (de type ActionEvent), passé en paramètre, vous permet de récupérer la source de

A savoir :

Les évènements contiennent des références à la source (observable). Cette référence est

eur -même.

G. Rey

2016
Département Informatique - IUT Nice-Côte d'Azur

Université Nice Ȃ Sophia Antipolis

41, Bd Napoléon III, 06206 Nice Cedex 3

Tél : +33 (0) 4 97 25 82 11Ȃ Fax : +33 (0) 4 97 25 83 31 9

4 ι ͷ

6.3 Création de son propre écouteur

Avant de terminer cet exercice, nous allons voir comment créer son propre écouteur. Cela est relativement simple il suffit

¾ Modifiez votre code pour indiquer que votre classe implémente lǯinterface ActionListener

7 Exercice 5 : Explorons quelques écouteurs évènements (obligatoire)

7.1 ActionListener

Commençons par ŽǯActionListener que nous avons déjà utilisé sur nos boutons.

¾ Ajoutez un champ texte qui vérifiera •‹ •‘ ...‘-‡— ‡•- — ‡-‹‡" ȋˆ‘- ˜‡"-Ȍ ‘— ‘ ȋˆ‘- "‘—‰‡Ȍ Ž‘"• †ǯ—‡ ƒ...-‹‘

(appuie sur la touche Return) sur le champ texte. Le code ci-dessous vous permet de savoir si le contenu du champ

texte est un entier. try { monChampText.setBackground(Color.green); }catch (Exception ex){ monChampText.setBackground(Color.red);

7.2 Le KeyListener

évènements clavier via un KeyListener. Cet écouteur propose 3 méthodes (keyTyped, keyReleased et keyPressed) qui

permettent respectivement de réagir lorsqu'une touche a été pressée, tapée et relâchée (envoyé dans cet ordre).

La classe KeyEvent étend java.util.EventObject et dispose donc des méthodes déclarées dans cette classe (notamment

getSource()), mais fournit également une dizaine d'autres méthodes spécifiques aux évènements relatifs au clavier.

Parmi elles :

getKeyChar() retourne le caractère associé à la touche appuyée, getKeyCode() récupère le code de la touche pressée,

isActionKey() retourne true si la touche appuyée est une touche d'action (CAPS LOCK, Verr Num, etc), et

getKeyText(int keyCode) retourne le texte associée à la touche (par ex. F1, A, etc).

Une dernière méthode, getKeyText, est très couramment utilisée. Attention celle-ci est statique, et ne s'utilisez donc pas

avec l'instance de KeyEvent fournie mais directement en faisant KeyEvent.getKeyText(monKeyCode). [Extrait de

quotesdbs_dbs8.pdfusesText_14
[PDF] tp java interface graphique corrigé

[PDF] exercice interface java corrigé

[PDF] la fille de jannina

[PDF] typologie du changement

[PDF] changement imposé

[PDF] changement construit

[PDF] conduite du changement ppt

[PDF] changement prescrit définition

[PDF] pratiques de la conduite du changement comment passer du discours ? l action

[PDF] changement adaptatif

[PDF] exemple de conduite de changement en entreprise

[PDF] prendre conscience de soi est-ce devenir étranger ? soi corrigé

[PDF] etre etranger a soi meme

[PDF] prendre conscience de soi est ce devenir soi meme

[PDF] prendre conscience de soi est-ce devenir étranger ? soi introduction