Comment utiliser les boutons, cases à cocher et boutons radio (Java - Tutoriels - Création d'une interface graphique avec JFC

Met en œuvre une fonction de basculement héritée par JCheckBox et JRadioButton. Peut être instancié ni sous pour créer des boutons à deux états.

Remarque: Si vous souhaitez collecter un groupe de boutons dans une ligne ou une colonne, alors vous devriez vérifier les barres d'outils.

Tout d'abord, cette section explique l'API de base qui touche AbstractButton définit # 151; et donc tous les boutons Swing ont en commun. Il décrit ensuite la petite quantité d'API qui DButton ajoute à AbstractButton. Après cela, cette section vous montre comment utiliser l'API spécialisée pour mettre en œuvre des cases à cocher et des boutons radio.

Voici une photo d'une application qui affiche trois boutons:

  • Cliquez sur le bouton gauche.
    Il désactive le bouton du milieu (et lui-même, car il n'est plus utile) et permet le bouton droit.
  • Cliquez sur le bouton droit.
    Il permet le bouton central et le bouton gauche, et se désactive.






  • Comme l'exemple ButtonDemo montre, un bouton Swing peut afficher à la fois du texte et une image. En ButtonDemo. chaque bouton a son texte dans un endroit différent, par rapport à son image. La lettre soulignée dans le texte de chaque bouton indique les mnémoniques # 151; l'alternative du clavier # 151; pour chaque bouton. Dans la plupart regarder et se sent, l'utilisateur peut cliquer sur un bouton en appuyant sur la touche Alt et le mnémonique. Par exemple, Alt-M cliquait sur le bouton central dans ButtonDemo.

    Quand un bouton est désactivé, l'apparence et génère automatiquement l'apparence du bouton désactivé. Cependant, vous pouvez fournir une image à substituer à l'image normale. Par exemple, vous pouvez fournir des versions grises des images utilisées dans les boutons gauche et droite.

    Comment implémenter la gestion des événements dépend du type de bouton que vous utilisez et comment vous l'utilisez. En règle générale, vous implémentez un écouteur d'action. qui est averti chaque fois que l'utilisateur clique sur le bouton. Pour les cases à cocher que vous utilisez habituellement un écouteur d'élément. qui est informé lorsque la case à cocher est sélectionné ou désélectionné.

    Ci-dessous le code de ButtonDemo.java qui crée les boutons dans l'exemple précédent et réagit aux clics de bouton. Le code en gras est le code qui demeureraient si les boutons avaient aucune image.

    boutons ordinaires # 151; objets JButton # 151; ont juste un peu plus de fonctionnalités que la classe AbstractButton offre: Vous pouvez faire un JButton être le bouton par défaut.

    Tout au plus un bouton dans un conteneur de niveau supérieur peut être le bouton par défaut. Le bouton par défaut a généralement une apparence mise en surbrillance et agit cliqué chaque fois que le conteneur de niveau supérieur a le focus du clavier et l'utilisateur appuie sur la touche Retour ou Entrée. Voici une image d'un dialogue, mis en œuvre dans l'exemple ListDialog, dans lequel le bouton Set est le bouton par défaut:

    Comment utiliser les boutons, cases à cocher et boutons radio (Java - Tutoriels - Création d'une interface graphique avec JFC

    Vous définissez le bouton par défaut en invoquant la méthode setDefaultButton sur le volet racine d'un conteneur de niveau supérieur. Voici le code qui met en place le bouton par défaut pour l'exemple ListDialog:

    La mise en œuvre exacte de la fonction du bouton par défaut dépend de l'aspect et la convivialité. Par exemple, dans le regard de Windows et se sentir, les changements de bouton par défaut selon le bouton a le focus, de sorte que en appuyant sur Entrée clique sur le bouton ciblé. Lorsque aucun bouton a le focus, le bouton vous avez initialement spécifié comme le bouton par défaut devient à nouveau le bouton par défaut.

    La classe JCheckBox prend en charge les boutons de case à cocher. Vous pouvez également mettre des cases à cocher dans les menus. en utilisant la classe JCheckBoxMenuItem. Parce que JCheckBox et JCheckBoxMenuItem héritent de AbstractButton. cases à cocher Swing ont toutes les caractéristiques habituelles des boutons, comme indiqué plus haut dans cette section. Par exemple, vous pouvez spécifier les images à utiliser dans les cases à cocher.

    Les cases à cocher sont semblables aux boutons radio, mais leur modèle de sélection est différent, par convention. Un nombre quelconque de cases à cocher dans un groupe # 151; aucune, certains, ou tout # 151; peut être sélectionné. Un groupe de boutons radio, d'autre part, ne peut avoir qu'un seul bouton sélectionné.

    Voici une photo d'une application qui utilise quatre cases à cocher pour personnaliser un dessin animé:

    Comment utiliser les boutons, cases à cocher et boutons radio (Java - Tutoriels - Création d'une interface graphique avec JFC

  • Cliquez sur le bouton Chin ou appuyez sur Alt-c.
    La case à cocher Chin est désélectionné, et le menton disparaît de l'image. Les autres cases à cocher restent sélectionnés. Cette application a un écouteur d'élément qui écoute toutes les cases à cocher. Chaque fois que l'auditeur de l'élément reçoit un événement, l'application charge une nouvelle image qui reflète l'état actuel des cases à cocher.






  • Une case à cocher génère un événement de l'élément et un événement d'action par clic. Habituellement, vous écoutez uniquement pour les événements poste, car ils vous permettent de déterminer si le clic ou décochée la case à cocher. Ci-dessous le code de CheckBoxDemo.java qui crée les cases à cocher dans l'exemple précédent et réagit aux clics.

    Les boutons radio sont des groupes de boutons qui, par convention, un seul bouton à la fois peut être sélectionné. La version Swing prend en charge les boutons radio avec les classes JRadioButton et buttonGroup. Pour mettre un bouton radio dans un menu. utiliser la classe JRadioButtonMenuItem. D'autres façons d'afficher un des nombreux choix sont-zones de liste déroulante et des listes. Les boutons radio ressemblent à des cases à cocher. mais, par convention, cases à cocher ne limitent en rien le nombre d'éléments peuvent être sélectionnés à la fois.

    Parce que JRadioButton hérite de AbstractButton. boutons radio Swing ont toutes les caractéristiques habituelles des boutons, comme indiqué plus haut dans cette section. Par exemple, vous pouvez spécifier l'image affichée dans un bouton radio.

    Voici une photo d'une application qui utilise cinq boutons radio pour vous permettre de choisir quel type d'animal de compagnie est affiché:

    Comment utiliser les boutons, cases à cocher et boutons radio (Java - Tutoriels - Création d'une interface graphique avec JFC

  • Cliquez sur le bouton Dog ou appuyez sur Alt-d.
    Le bouton Dog devient sélectionné, ce qui rend le bouton oiseaux deviennent désélectionné. L'image passe d'un oiseau à un chien. Cette application a un écouteur d'action qui écoute tous les boutons radio. Chaque fois que l'auditeur d'action reçoit un événement, l'application affiche l'image du bouton radio qui vient d'être cliqué.
  • Chaque fois que l'utilisateur clique sur un bouton radio (même si elle a déjà été sélectionné), le bouton déclenche un événement d'action. Un ou deux événements se produisent également l'objet # 151; un à partir du bouton qui vient d'être sélectionné, et un autre à partir du bouton qui a perdu la sélection (le cas échéant). En règle générale, vous gérez les clics de bouton radio en utilisant un écouteur d'action.

    Ci-dessous le code de RadioButtonDemo.java qui crée les boutons radio dans l'exemple précédent et réagit aux clics.

    Pour chaque groupe de boutons radio, vous devez créer une instance de ButtonGroup et ajouter chaque bouton radio à elle. Le ButtonGroup prend soin de désélectionner la touche précédemment sélectionnée lorsque l'utilisateur sélectionne un autre bouton dans le groupe.

    Vous devez initialiser généralement un groupe de boutons radio afin que l'on est sélectionné. Cependant, l'API n'applique pas cette règle # 151; un groupe de boutons radio ne peut pas avoir la sélection initiale. Une fois que l'utilisateur a fait une sélection, exactement un bouton est sélectionné à partir de là.

    Les tableaux suivants présentent les API liées à bouton-utilisée. D'autres méthodes que vous pourriez appeler, comme setFont et setForeground. sont répertoriés dans les tableaux de l'API dans la classe JComponent.

    L'API pour l'utilisation des boutons tombe dans ces catégories:

    Méthode ou Constructor







    Articles Liés