Introduksjon til JToggleButton

JToggleButton er ganske enkelt en to-statsknapp valgt og avvalgt. Det er en Swing-komponent. Du må ha hørt om avkrysningsruten og alternativknappen. Det er nøyaktig det samme. Faktisk er JRadioButton og JCheckBox underklasser av JToggleButton-klassen. Bruk av JToggleButton er å registrere brukerens valg mellom to valg.

For eksempel kan vi ha flere JToggleButtons som spesifiserer språknavnet på hver knapp, og brukeren vil velge / deaktivere (standard de-valgt) hver knapp for å spesifisere at han / hun kjenner / ikke kjenner det respektive språket. JToggleButton er som standard i avvalgt tilstand.

Erklæring fra JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Hvor,

  • AbstractButton definerer vanlige funksjoner for knapper og menyelementer.
  • Tilgjengelig er hovedgrensesnittet for tilgjengelighetspakken. Den inneholder en metode "getAccessibleContext" som returnerer AccessibleContext tilknyttet denne knappen.

Konstruktører av JToggleButton

Nedenfor er de forskjellige konstruktørene til JToggleButton:

  • JToggleButton (): Denne konstruktøren lager en ikke valgt vippeknapp uten tekst eller bilde.
  • JToggleButton (Handling a): Denne konstruktøren lager en vippeknapp med egenskaper fra tilført handling.
  • JToggleButton (strengtekst): Denne konstruktøren oppretter en ikke valgt vippeknapp med den angitte teksten og uten bilde.
  • JToggleButton (Ikonikon): Denne konstruktøren lager en ikke valgt vippeknapp uten tekst og spesifisert bilde.
  • JToggleButton (strengtekst, ikonikon): Denne konstruktøren lager en ikke valgt vippeknapp med den angitte teksten og det angitte bildet.
  • JToggleButton (strengtekst, boolesk valgt): Denne konstruktøren oppretter en vippeknapp uten bilde, spesifisert tekst og den angitte valgstatusen.
  • JToggleButton (Ikonikon, boolean valgt): Denne konstruktøren lager en vippeknapp uten tekst, spesifisert bilde og spesifisert valgstatus .
  • JToggleButton (strengtekst, ikonikon, boolean valgt): Dette er konstruktøren der alle tre egenskapene kan leveres - valgstatus, tekst og bilde.

Metoder for JToggleButton

Nedenfor er de forskjellige metodene som brukes i JToggleButton:

  • public void setText (strengtekst): Denne metoden angir teksten som vises på knappen.
  • public void setSelected (boolean b): Denne metoden angir status for knappen. Hvis b er sant, vises knappen valgt og hvis b er falsk, vises knappen avmarkert.
  • public void setEnabled (boolesk b): Denne metoden brukes til å deaktivere knappen. Hvis b er falsk, blir knappen grått og kan ikke mer klikkes.
  • public void setIcon (Icon defaultIcon): Denne metoden setter ikonet for denne knappen. Dette ikonet vil bli brukt som et "presset" og "deaktivert" ikon hvis ingen "presset" ikon er angitt eksplisitt.
  • public void setPressionIcon (Icon pressedIcon): Denne metoden setter "presset" -ikonet for denne knappen. Dette ikonet vises i det øyeblikket brukeren trykker på knappen.
  • public AccessibleContext getAccessibleContext (): Denne metoden returnerer den tilgjengelige konteksten tilknyttet denne knappen.
  • beskyttet String paramString (): Denne metoden returnerer strengrepresentasjon av denne knappen. Denne metoden er beregnet på feilsøking. Returneringsverdien kan være tom, men ikke null.
  • public String getUIClassID (): Denne metoden returnerer navnet på utseende og følelse (l & f) -klassen på denne knappen.
  • public void updateUI (): Tilbakestiller utseendet og følelsen av denne knappen.
  • public void addActionListener (ActionListener l): Denne metoden festet en actionlytter til denne knappen slik at alle handlinger som utføres på denne knappen kan fanges opp i bakenden.
  • public void addItemListener (ItemListener l): Denne metoden knytter en elementlytter til denne knappen slik at valg og avvelgelse av denne knappen kan håndteres i backend.

Program for å implementere 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);
)
)

Forklaring

  • Dette programmet er veldig enkelt og selvforklarende. Den samler brukerinformasjon om hvilke språk han / hun kjenner.
  • Først har vi laget en ramme i størrelse 400 x 400 piksler og som har en kolonne og fem rader.
  • Laget fire vekslingsknapper for fire forskjellige språk - engelsk, hindi, marathi og tamil og lagt til beholderrammen.
  • Vi har satt bakgrunnsfargen på disse knappene til rød (til de ikke er valgt).
  • Så la du til en etikett i den femte raden i rammen for å vise status for applikasjonen.
  • Til å begynne med velges en knapp for det engelske språket ved hjelp av konstruktøren til JToggleButton, noe som betyr at brukeren kjenner engelsk som standard og at alle andre knapper fjernes.
  • For å spesifisere det kjente språket, må brukeren klikke på (velg) den spesifikke knappen. Brukere kan klikke igjen på valgt knapp for å fjerne den.
  • Når en knapp er valgt eller fjernet, blir en hendelse avfyrt og hurtigbufret i en ItemListener og status endret tilsvarende.
  • For å sjekke den gjeldende handlingen, opprettes en ActionListener og festes til hver knapp slik at når et språk er valgt eller fravalgt, vises utført handling for brukeren.
  • Brukt kan velge eller fjerne markering av ett eller flere språk og se status deretter.

Produksjon:

1. Dette er vår applikasjon der det engelske språket er valgt som standard.

2. Brukeren har valgt “Marathi” språk og status og handling endres tilsvarende.

3. Brukeren har valgt “engelsk” språk og status og handling endres tilsvarende.

4. Brukeren har valgt “Marathi” -språk og statusen endres tilsvarende.

Konklusjon

JToggleButton er en viktig komponent i Swing som gjør det enkelt å spesifisere et valg mellom to valg eller svar som ja eller nei som avbildet i eksemplet. Vi kan også bruke avmerkingsbokser eller radioknapper som er underklasser for JToggleButton.

Anbefalte artikler

Dette er en guide til JToggleButton. Her diskuterer vi konstruktørene og metodene til JToggleButton sammen med programmet. Du kan også se på følgende artikler for å lære mer -

  1. JPanel i Java
  2. JButton i Java
  3. JOptionPane i Java
  4. JScrollPane i Java
  5. JFrame i Java
  6. JLabel i Java
  7. Hvordan lage en RadioButton?