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.4.Les composant boutons

La classe AbstractButton est la classe de base à partir de laquelle dérivent plusieurs autres composants. Vous n’utiliserez pas directement la classe AbstractButton car comme son nom l’indique, cette classe ne peut pas être instanciée. Vous devrez donc utiliser une des classes filles suivantes :
Les boutons poussoirs (JButton), les boutons à bascule (JToggleButton), les cases à cocher (JCheckBox), les boutons radio (JRadioButton), mais aussi les élements de menu (JMenuItem) et les menus eux-mêmes (JMenu) sont issus de cette classe.

5.4.1.JButton

JButton est un bouton poussoir classique très simple. Tout ce que nous savons sur JLabel s’applique à un JButton. Nous pouvons lui ajouter des images, spécifier l’alignement, ou encore appliquer des couleurs arrière et d’avant plan. De plus on peut ajouter des listeners (ActionListener, ChangeListener, ItemListener) pour capturer les évènements. Nous reviendrons en détail sur cette partie dans le chapitre 10 : « La gestion des évènements » qui y est dédié.
Méthodes et classes de base :
    • JButton() Crée un bouton sans image et sans texte
    • JButton(Icon) Crée un bouton avec une image
    • JButton(String) Crée un bouton avec un texte
    • JButton(String, Icon) Crée un bouton avec un texte et une image
    • setHorizontalAlignement(int) définit l’alignement horizontal du contenu
    • setVerticalAlignement(int) définit l’alignement horizontal du contenu
    • setHorizontalTextPosition(int) définit la position du texte relativement à l’image
    • setVerticalTextPosition(int) Idem mais sur l’axe des y
    • setIcon(Icon icon) Permet de spécifier ou de remplacer à tout moment l’image du bouton
    • setPressedIcon(Icon) Permet de spécifier une image lorsque le bouton est pressé
    • setRolloverIcon(Icon) Permet de spécifier une image lorsque le bouton est survolé
    • getText() Récupère le texte du bouton
    • getIcon() Récupère l’icône du bouton
    • setIcon(Icon) Permet de spécifier l’image du bouton
    • setText(String) Permet de spécifier le texte pour le bouton (supporte le HTML)
    • setMnemonic(char) Crée un raccourci vers char
(ex : setMnemonic('C') correspond à « Alt+C »)
    • addActionListener(ActionListener) Ajouter le bouton à un ActionListener
    • setEnabled(boolean) Activer / Désactiver le Bouton
    • setActionCommand(String) Permet de définir une commande liée au listener du bouton
Dans votre application il se peut également que vous souhaitiez définir le bouton par défaut parmis tout les boutons présent. Pour cela vous devrez utiliser la méthode setDefaultButton(JButton button) de votre RootPane.

Voici le code illustrant ce principe :

JFrame maFenetre = new JFrame("Appli Boutons") ;
maFenetre.setSize(100,100);
JButton btnOk = new JButton("ok");
JButton btnCancel = new JButton("Cancel");
maFenetre.getContentPane().add(btnOk,BorderLayout.EAST);
maFenetre.getContentPane().add(btnCancel,BorderLayout.WEST);
maFenetre.getRootPane().setDefaultButton(btnOk);
maFenetre.setVisible(true);

Voici l’application créé, vous remarquerais une bordure spéciale sur le bouton “ok” qui symbolise le fait que se soit le bouton qui a été défini comme bouton par défaut :


5.4.2.JToggleButton

Un JToggleButton est un bouton à bascule. Son comportement et son utilisation sont très proche de la classe JButton, la seule différence c’est que ce type de bouton là conserve l’état d’avoir été ou non sélectionné.

5.4.3.JCheckbox

Une JCheckBox est une case à cocher, on peut ajouter un libellé à se composant directement lors de sa création afin de rendre plus explicite son utilisation. Il faut pour cela utiliser le constructeur suivant : JCheckBox("Ma case a coché").
Les JCheckBox sont utilisés lors de choix multiples que l’utilisateur doit réaliser par le biais de l’interface.

5.4.4.JRadioButton

Un JRadioButton est un boutton radio. Il s’utilise comme la classe JCheckBox mais permet de spécifier qu’il n’y a qu’un seul choix possible parmis toutes les propositions offertes par l’interface graphique.

La classe JRadioButton doit cependent être utilisé conjointement avec la classe ButtonGroup si vous souhaitez obtenir le comportement standard de choix unique parmis tous les choix proposés.

La classe ButtonGroup permet donc de regrouper des boutons qui peuvent mettre en place un mécanisme de sélection basé sur l’exclusion mutuelle (comme avec les boutons radios classiques). Il suffit pour cela des grouper les boutons en question dans une instance de ButtonGroup à l’aide de la méthode add(Button).

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