Inleiding tot JToggleButton

JToggleButton is gewoon een knop met twee statussen die is geselecteerd en gedeselecteerd. Het is een Swing-component. Je hebt waarschijnlijk gehoord van het selectievakje en het keuzerondje. Het is precies hetzelfde. JRadioButton en JCheckBox zijn in feite subklassen van de klasse JToggleButton. Het gebruik van JToggleButton is om de keuze van de gebruiker tussen twee keuzes te registreren.

We kunnen bijvoorbeeld meerdere JToggleButtons hebben die de taalnaam op elke knop specificeren en de gebruiker zal elke knop selecteren / deselecteren (standaard uitgeschakeld) om aan te geven dat hij / zij de respectieve taal kent / niet kent. JToggleButton bevindt zich standaard in de niet-geselecteerde staat.

Verklaring van JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Waar,

  • AbstractButton definieert gemeenschappelijke functies van knoppen en menu-items.
  • Toegankelijk is de hoofdinterface voor het toegankelijkheidspakket. Het bevat een methode "getAccessibleContext" die de ToegankelijkeContext retourneert die aan deze knop is gekoppeld.

Constructeurs van JToggleButton

Hieronder staan ​​de verschillende constructeurs van JToggleButton:

  • JToggleButton (): deze constructor maakt een niet-geselecteerde schakelknop zonder tekst of afbeelding.
  • JToggleButton (actie a): deze constructor maakt een schakelknop met eigenschappen uit geleverde actie.
  • JToggleButton (String-tekst): deze constructor maakt een niet-geselecteerde schakelknop met de opgegeven tekst en geen afbeelding.
  • JToggleButton (pictogram): deze constructor maakt een niet-geselecteerde schakelknop zonder tekst en een opgegeven afbeelding.
  • JToggleButton (String-tekst, pictogram-pictogram): deze constructor maakt een niet-geselecteerde schakelknop met de opgegeven tekst en de opgegeven afbeelding.
  • JToggleButton (String-tekst, Boolean geselecteerd): deze constructor maakt een schakelknop zonder afbeelding, opgegeven tekst en de opgegeven selectiestatus.
  • JToggleButton (pictogram, Boolean geselecteerd): deze constructor maakt een schakelknop zonder tekst, opgegeven afbeelding en opgegeven selectiestatus.
  • JToggleButton (String-tekst, pictogram, Boolean geselecteerd): dit is de constructor waar alle drie de eigenschappen kunnen worden geleverd: selectiestatus, tekst en afbeelding.

Methoden van JToggleButton

Hieronder staan ​​de verschillende methoden die in JToggleButton worden gebruikt:

  • public void setText (String-tekst): deze methode stelt de tekst in die op de knop verschijnt.
  • public void setSelected (boolean b): met deze methode wordt de status van de knop ingesteld. Als b waar is, verschijnt de knop geselecteerd en als b onwaar is, wordt de knop gedeselecteerd weergegeven.
  • public void setEnabled (boolean b): deze methode wordt gebruikt om de knop uit te schakelen. Als b niet waar is, wordt de knop grijs weergegeven en kan er niet meer op worden geklikt.
  • public void setIcon (Icon defaultIcon): Met deze methode wordt het pictogram voor deze knop ingesteld. Dit pictogram wordt gebruikt als een 'ingedrukt' en 'uitgeschakeld' pictogram als er geen expliciet 'ingedrukt' pictogram is ingesteld.
  • public void setPressedIcon (Icon pressingIcon): Met deze methode wordt het 'ingedrukte' pictogram voor deze knop ingesteld. Dit pictogram wordt weergegeven op het moment dat de gebruiker op de knop drukt.
  • public AccessibleContext getAccessibleContext (): deze methode retourneert de toegankelijke context die aan deze knop is gekoppeld.
  • protected String paramString (): deze methode retourneert een stringweergave van deze knop. Deze methode is bedoeld voor foutopsporing. Retourwaarde is mogelijk leeg maar niet nul.
  • public String getUIClassID (): deze methode retourneert de naam van de klasse look & feel (l & f) van deze knop.
  • public void updateUI (): reset het uiterlijk van deze knop.
  • public void addActionListener (ActionListener l): Deze methode heeft een actie-luisteraar aan deze knop gekoppeld, zodat elke actie die op deze knop wordt uitgevoerd, kan worden opgevangen aan de backend.
  • public void addItemListener (ItemListener l): Deze methode voegt een itemlistener aan deze knop toe, zodat de selectie en deselectie van deze knop aan de backend kan worden afgehandeld.

Programma om JToggleButton te implementeren

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);
)
)

Uitleg

  • Dit programma is heel eenvoudig en spreekt voor zichzelf. Het verzamelt de gebruikersinformatie over welke talen hij / zij kent.
  • Eerst hebben we een frame gemaakt met een afmeting van 400 bij 400 pixels en met één kolom en vijf rijen.
  • Vier schakelknoppen gemaakt voor vier verschillende talen - Engels, Hindi, Marathi en Tamil en toegevoegd aan het containerframe.
  • We hebben de achtergrondkleur van deze knoppen ingesteld op rood (totdat de selectie ongedaan is gemaakt).
  • Voeg vervolgens een label toe op de vijfde rij in het frame om de status van de toepassing weer te geven.
  • Aanvankelijk is een knop voor de Engelse taal geselecteerd met behulp van de constructor van JToggleButton, wat betekent dat de gebruiker de Engelse taal standaard kent en alle andere knoppen zijn uitgeschakeld.
  • Om de bekende taal op te geven, moet de gebruiker op de specifieke knop klikken (selecteren). Gebruikers kunnen opnieuw op de geselecteerde knop klikken om de selectie ongedaan te maken.
  • Wanneer een knop is geselecteerd of uitgeschakeld, wordt een gebeurtenis geactiveerd en in de cache opgeslagen in een ItemListener en wordt de status dienovereenkomstig gewijzigd.
  • Om de huidige actie te controleren, wordt er ook een ActionListener gemaakt en aan elke knop gekoppeld, zodat wanneer een taal is geselecteerd of uitgeschakeld, de actie aan de gebruiker wordt getoond.
  • Gebruikt kan een of meer talen selecteren of deselecteren en de status dienovereenkomstig zien.

Output:

1. Dit is onze applicatie waarin standaard de Engelse taal is geselecteerd.

2. Gebruiker heeft de taal 'Marathi' geselecteerd en de status en actie worden dienovereenkomstig gewijzigd.

3. De gebruiker heeft de "Engelse" taal uitgeschakeld en de status en actie worden dienovereenkomstig gewijzigd.

4. Gebruiker heeft de taal “Marathi” gedeselecteerd en de status wordt dienovereenkomstig gewijzigd.

Conclusie

JToggleButton is een belangrijk onderdeel in Swing waarmee u eenvoudig een keuze kunt maken tussen twee keuzes of antwoorden zoals ja of nee zoals afgebeeld in het voorbeeld. We kunnen ook selectievakjes of keuzerondjes gebruiken die subklassen van JToggleButton zijn.

Aanbevolen artikelen

Dit is een handleiding voor JToggleButton. Hier bespreken we de constructeurs en methoden van JToggleButton samen met zijn programma. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. JPanel in Java
  2. JButton in Java
  3. JOptionPane in Java
  4. JScrollPane in Java
  5. JFrame in Java
  6. JLabel in Java
  7. Hoe maak je een RadioButton?