Introducere în JToggleButton

JToggleButton este pur și simplu un buton cu două stări selectat și de-selectat. Este o componentă Swing. Trebuie să fi auzit despre caseta de selectare și butonul radio. Este exact la fel. De fapt, JRadioButton și JCheckBox sunt subclase ale clasei JToggleButton. Utilizarea JToggleButton este aceea de a înregistra alegerea utilizatorului între două opțiuni.

De exemplu, Putem avea mai multe JToggleButtons care specifică limba limbii de pe fiecare buton, iar utilizatorul va selecta / deselecta (implicit deselectat) fiecare buton pentru a specifica că el / ea știe / nu cunoaște limba respectivă. JToggleButton este în starea deselectată în mod implicit.

Declarația JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Unde,

  • AbstractButton definește funcționalitățile comune ale butoanelor și ale menuItems.
  • Accesibilul este interfața principală a pachetului de accesibilitate. Conține o metodă „getAccessibleContext” care returnează AccessibleContext asociată cu acest buton.

Constructorii JToggleButton

Mai jos sunt diferiți constructori ai JToggleButton:

  • JToggleButton (): acest constructor creează un buton de comutare neselectat fără text sau imagine.
  • JToggleButton (acțiunea a): acest constructor creează un buton de comutare care are proprietăți din acțiunea furnizată.
  • JToggleButton (text string): Acest constructor creează un buton de comutare neselectat cu textul specificat și fără imagine.
  • JToggleButton (pictograma pictogramă): Acest constructor creează un buton de comutare neselectat, fără text și imagine specificată.
  • JToggleButton (text șir, pictogramă pictogramă): Acest constructor creează un buton de comutare neselectat cu textul specificat și imaginea specificată.
  • JToggleButton (text string, selectat boolean): acest constructor creează un buton de comutare fără imagine, text specificat și starea de selecție specificată.
  • JToggleButton (pictograma pictogramă, selectată booleană): Acest constructor creează un buton de comutare fără text, imagine specificată și stare de selectare specificată.
  • JToggleButton (text șir, pictogramă pictogramă, booleană selectată): acesta este constructorul în care pot fi furnizate toate cele trei proprietăți - starea de selecție, text și imagine.

Metode de JToggleButton

Mai jos sunt diferite metode utilizate în JToggleButton:

  • public void setText (String text): Această metodă stabilește textul care apare pe buton.
  • public void setSelected (boolean b): Această metodă stabilește starea butonului. Dacă b este adevărat, butonul va apărea selectat și dacă b este fals, butonul va apărea deselectat.
  • public void setEnabled (boolean b): Această metodă este folosită pentru a dezactiva butonul. Dacă b este fals, butonul va fi decolorat și nu va mai putea face clic.
  • public void setIcon (Icon defaultIcon): Această metodă stabilește pictograma pentru acest buton. Această pictogramă va fi utilizată ca pictogramă „apăsată” și „dezactivată” dacă nu este setată în mod explicit o pictogramă „apăsată”.
  • public void setPressedIcon (Pictogramă apăsatIcon): Această metodă stabilește pictograma „apăsat” pentru acest buton. Această pictogramă va fi afișată în momentul în care utilizatorul apasă butonul.
  • public AccessibleContext getAccessibleContext (): Această metodă returnează contextul accesibil asociat cu acest buton.
  • protected String paramString (): Această metodă returnează reprezentarea șirului acestui buton. Această metodă este în scop de depanare. Valoarea returnării poate fi goală, dar nu nulă.
  • public String getUIClassID (): Această metodă returnează numele clasei de aspect și senzație (l & f) a acestui buton.
  • public void updateUI (): resetează aspectul acestui buton.
  • public void addActionListener (ActionListener l): această metodă a atașat un ascultător de acțiuni la acest buton, astfel încât orice acțiune efectuată pe acest buton poate fi prinsă în backend.
  • public void addItemListener (ItemListener l): Această metodă atașează un ascultător de obiecte la acest buton, astfel încât selecția și deselectarea acestui buton pot fi gestionate în backend.

Program pentru implementarea 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);
)
)

Explicaţie

  • Acest program este foarte simplu și autoexplicativ. Colectează informațiile despre utilizator despre toate limbile pe care le cunoaște.
  • Mai întâi, am creat un cadru cu dimensiunea de 400 de 400 pixeli și având o coloană și cinci rânduri.
  • A creat patru butoane de comutare pentru patru limbi diferite - engleză, hindi, maratură și tamilă și adăugate în cadrul containerului.
  • Am setat culoarea de fundal a acestor butoane pe roșu (până la deselectare).
  • Apoi a adăugat o etichetă în al cincilea rând din cadru pentru a arăta starea aplicației.
  • Inițial, un buton pentru limba engleză este selectat folosind constructorul JToggleButton, ceea ce înseamnă că utilizatorul cunoaște limba engleză în mod implicit și toate celelalte butoane sunt deselectate.
  • Pentru a specifica limba cunoscută, utilizatorul va trebui să facă clic pe (selectați) butonul specific. Utilizatorii pot face clic din nou pe butonul selectat pentru a-l selecta.
  • Când un buton este selectat sau deselectat, un eveniment este tras și pus în cache într-un ElementListener și starea este modificată în consecință.
  • De asemenea, pentru a verifica acțiunea curentă, este creat și atașat un ActionListener la fiecare buton, astfel încât atunci când este selectată sau deselectată o limbă, acțiunea efectuată este arătată utilizatorului.
  • Folosit poate selecta sau deselecta una sau mai multe limbi și a vedea starea în consecință.

ieşire:

1. Aceasta este aplicația noastră în care limba engleză este selectată implicit.

2. Utilizatorul a selectat limba „Marathi” și starea și acțiunile sunt schimbate în consecință.

3. Utilizatorul a deselectat limba „engleză” și starea și acțiunea sunt schimbate în consecință.

4. Utilizatorul a deselectat limba „Marathi” și starea este modificată în consecință.

Concluzie

JToggleButton este o componentă importantă în Swing, ceea ce facilitează specificarea unei alegeri între două alegeri sau răspunsuri, ca da sau nu, așa cum este descris în exemplu. De asemenea, putem utiliza casele de selectare sau butoanele radio care sunt subclase ale JToggleButton.

Articole recomandate

Acesta este un ghid pentru JToggleButton. Aici discutăm constructorii și metodele JToggleButton împreună cu programul său. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. JPanel în Java
  2. JButton în Java
  3. JOptionPane în Java
  4. JScrollPane în Java
  5. JFrame în Java
  6. JLabel în Java
  7. Cum să creezi un RadioButton?