Introduction à JToggleButton

JToggleButton est simplement un bouton à deux états sélectionné et désélectionné. Il s'agit d'un composant Swing. Vous devez avoir entendu parler de la case à cocher et du bouton radio. c'est exactement le meme. En fait, JRadioButton et JCheckBox sont des sous-classes de la classe JToggleButton. L'utilisation de JToggleButton est, pour enregistrer le choix de l'utilisateur entre deux choix.

Par exemple, nous pouvons avoir plusieurs JToggleButtons spécifiant le nom de la langue sur chaque bouton et l'utilisateur sélectionnera / désélectionner (désélectionné par défaut) chaque bouton pour spécifier qu'il / elle connaît / ne connaît pas la langue respective. JToggleButton est dans l'état désélectionné par défaut.

Déclaration de JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Où,

  • AbstractButton définit les fonctionnalités communes des boutons et des éléments de menu.
  • Accessible est l'interface principale du package d'accessibilité. Il contient une méthode «getAccessibleContext» qui renvoie le AccessibleContext associé à ce bouton.

Constructeurs de JToggleButton

Voici les différents constructeurs de JToggleButton:

  • JToggleButton (): ce constructeur crée un bouton bascule non sélectionné sans texte ni image.
  • JToggleButton (Action a): ce constructeur crée un bouton bascule ayant les propriétés de l'action fournie.
  • JToggleButton (String text): ce constructeur crée un bouton bascule non sélectionné avec le texte spécifié et aucune image.
  • JToggleButton (icône Icône): ce constructeur crée un bouton bascule non sélectionné sans texte ni image spécifiée.
  • JToggleButton (texte de chaîne, icône d'icône): ce constructeur crée un bouton bascule non sélectionné avec le texte spécifié et l'image spécifiée.
  • JToggleButton (String text, boolean selected): ce constructeur crée un bouton bascule sans image, texte spécifié et état de sélection spécifié.
  • JToggleButton (icône d'icône, booléen sélectionné): ce constructeur crée un bouton bascule sans texte, image spécifiée et état de sélection spécifié.
  • JToggleButton (texte de chaîne, icône d'icône, booléen sélectionné): c'est le constructeur où les trois propriétés peuvent être fournies - état de sélection, texte et image.

Méthodes de JToggleButton

Voici les différentes méthodes utilisées dans JToggleButton:

  • public void setText (String text): Cette méthode définit le texte qui apparaît sur le bouton.
  • public void setSelected (boolean b): Cette méthode définit l'état du bouton. Si b est vrai, le bouton apparaîtra sélectionné et si b est faux, le bouton apparaîtra désélectionné.
  • public void setEnabled (boolean b): Cette méthode est utilisée pour désactiver le bouton. Si b est faux, le bouton sera grisé et ne sera plus cliquable.
  • public void setIcon (Icon defaultIcon): Cette méthode définit l'icône de ce bouton. Cette icône sera utilisée comme icône «pressée» et «désactivée» si aucune icône «pressée» n'est définie explicitement.
  • public void setPressedIcon (IconPressIcon): Cette méthode définit l'icône «pressé» pour ce bouton. Cette icône s'affiche au moment où l'utilisateur appuie sur le bouton.
  • public AccessibleContext getAccessibleContext (): Cette méthode renvoie le contexte accessible associé à ce bouton.
  • protected String paramString (): Cette méthode renvoie une représentation sous forme de chaîne de ce bouton. Cette méthode est à des fins de débogage. La valeur de retour peut être vide mais pas nulle.
  • public String getUIClassID (): Cette méthode renvoie le nom de la classe look and feel (l & f) de ce bouton.
  • public void updateUI (): réinitialise l'apparence de ce bouton.
  • public void addActionListener (ActionListener l): cette méthode a attaché un écouteur d'actions à ce bouton afin que toute action effectuée sur ce bouton puisse être interceptée au niveau du backend.
  • public void addItemListener (ItemListener l): cette méthode attache un écouteur d'élément à ce bouton afin que la sélection et la désélection de ce bouton puissent être gérées au niveau du backend.

Programme pour implémenter JToggleButton

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JToggleButton;
import javax.swing.SwingConstants;
public class JToggleButtonDemo (
public static void main(String() args) (
JFrame app = new JFrame();
JToggleButton englishLanguage = new JToggleButton("English", true);
JToggleButton hindiLanguage = new JToggleButton();
JToggleButton marathiLanguage = new JToggleButton();
JToggleButton tamilLanguage = new JToggleButton();
app.setSize(400, 400);
app.setLayout(new GridLayout(6, 1));
app.setVisible(true);
englishLanguage.setText("English");
englishLanguage.setBackground(new Color(255, 66, 0));
hindiLanguage.setText("Hindi");
hindiLanguage.setBackground(new Color(255, 66, 0));
marathiLanguage.setText("Marathi");
marathiLanguage.setBackground(new Color(255, 66, 0));
tamilLanguage.setText("Tamil");
tamilLanguage.setBackground(new Color(255, 66, 0));
app.add(englishLanguage);
app.add(hindiLanguage);
app.add(marathiLanguage);
app.add(tamilLanguage);
JLabel action = new JLabel();
app.add(action);
JLabel status = new JLabel("User knows : English");
app.add(status);
ItemListener listener = new ItemListener() (
@Override
public void itemStateChanged(ItemEvent e) (
StringBuilder statusString = new StringBuilder("User knows :");
if (englishLanguage.isSelected()) (
statusString.append(" English");
)
if (hindiLanguage.isSelected()) (
statusString.append(" Hindi");
)
if (marathiLanguage.isSelected()) (
statusString.append(" Marathi");
)
if (tamilLanguage.isSelected()) (
statusString.append(" Tamil");
)
if (englishLanguage.isSelected() == false && hindiLanguage.isSelected() == false
&& marathiLanguage.isSelected() == false && tamilLanguage.isSelected() == false) (
status.setText("User doesn't know any language !!");
) else (
status.setText(statusString.toString());
)
)
);
ActionListener actionListener = new ActionListener() (
@Override
public void actionPerformed(ActionEvent e) (
JToggleButton temp = (JToggleButton) e.getSource();
if (temp.isSelected()) (
action.setText("Current action : " + temp.getActionCommand() + " is selected");
) else (
action.setText("Current action : " + temp.getActionCommand() + " is de-selected");
)
)
);
englishLanguage.addItemListener(listener);
englishLanguage.addActionListener(actionListener);
hindiLanguage.addItemListener(listener);
hindiLanguage.addActionListener(actionListener);
marathiLanguage.addItemListener(listener);
marathiLanguage.addActionListener(actionListener);
tamilLanguage.addItemListener(listener);
tamilLanguage.addActionListener(actionListener);
)
)

Explication

  • Ce programme est très simple et explicite. Il recueille les informations de l'utilisateur sur toutes les langues qu'il connaît.
  • Tout d'abord, nous avons créé un cadre de taille 400 par 400 pixels et ayant une colonne et cinq lignes.
  • Créé quatre boutons à bascule pour quatre langues différentes - anglais, hindi, marathi et tamoul et ajouté au cadre du conteneur.
  • Nous avons défini la couleur d'arrière-plan de ces boutons sur rouge (jusqu'à désélection).
  • Ensuite, ajouté une étiquette dans la cinquième ligne du cadre pour afficher l'état de l'application.
  • Initialement, un bouton pour la langue anglaise est sélectionné à l'aide du constructeur de JToggleButton, ce qui signifie que l'utilisateur connaît la langue anglaise par défaut et que tous les autres boutons sont désélectionnés.
  • Pour spécifier la langue connue, l'utilisateur devra cliquer sur (sélectionner) le bouton spécifique. Les utilisateurs peuvent cliquer à nouveau sur le bouton sélectionné pour le désélectionner.
  • Lorsqu'un bouton est sélectionné ou désélectionné, un événement est déclenché et mis en cache dans un ItemListener et l'état est modifié en conséquence.
  • De plus, pour vérifier l'action en cours, un ActionListener est créé et attaché à chaque bouton de sorte que lorsqu'une langue est sélectionnée ou désélectionnée, l'action effectuée est montrée à l'utilisateur.
  • Utilisé peut sélectionner ou désélectionner une ou plusieurs langues et voir l'état en conséquence.

Production:

1. Il s'agit de notre application dans laquelle la langue anglaise est sélectionnée par défaut.

2. L'utilisateur a sélectionné la langue «marathi» et le statut et l'action sont modifiés en conséquence.

3. L'utilisateur a désélectionné la langue «anglais» et le statut et l'action sont modifiés en conséquence.

4. L'utilisateur a désélectionné la langue «marathi» et son statut est modifié en conséquence.

Conclusion

JToggleButton est un composant important de Swing qui permet de spécifier facilement un choix entre deux choix ou réponses comme oui ou non comme illustré dans l'exemple. Nous pouvons également utiliser des cases à cocher ou des boutons radio qui sont des sous-classes de JToggleButton.

Articles recommandés

Ceci est un guide de JToggleButton. Ici, nous discutons des constructeurs et des méthodes de JToggleButton avec son programme. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. JPanel en Java
  2. JButton en Java
  3. JOptionPane en Java
  4. JScrollPane en Java
  5. JFrame en Java
  6. JLabel en Java
  7. Comment créer un RadioButton?