Introduzione a JToggleButton

JToggleButton è semplicemente un pulsante a due stati selezionato e deselezionato. È un componente Swing. Devi aver sentito parlare della casella di controllo e del pulsante di opzione. È esattamente lo stesso In effetti, JRadioButton e JCheckBox sono sottoclassi della classe JToggleButton. L'uso di JToggleButton è, per registrare la scelta dell'utente tra due scelte.

Ad esempio, possiamo avere più pulsanti JToggle che specificano il nome della lingua su ciascun pulsante e l'utente selezionerà / deselezionerà (deselezionata per impostazione predefinita) ciascun pulsante per specificare che conosce / non conosce la rispettiva lingua. JToggleButton è nello stato deselezionato per impostazione predefinita.

Dichiarazione di JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Dove,

  • AbstractButton definisce le funzionalità comuni di Buttons e MenuItems.
  • Accessibile è l'interfaccia principale per il pacchetto di accessibilità. Contiene un metodo "getAccessibleContext" che restituisce AccessibleContext associato a questo pulsante.

Costruttori di JToggleButton

Di seguito sono riportati i diversi costruttori di JToggleButton:

  • JToggleButton (): questo costruttore crea un pulsante di attivazione non selezionato senza testo o immagine.
  • JToggleButton (Azione a): questo costruttore crea un pulsante di attivazione con proprietà dall'azione fornita.
  • JToggleButton (testo stringa): questo costruttore crea un pulsante di attivazione non selezionato con il testo specificato e nessuna immagine.
  • JToggleButton (icona icona): questo costruttore crea un pulsante di attivazione non selezionato senza testo e immagine specificata.
  • JToggleButton (testo stringa, icona icona): questo costruttore crea un pulsante di attivazione / disattivazione con il testo specificato e l'immagine specificata.
  • JToggleButton (testo stringa, valore booleano selezionato): questo costruttore crea un pulsante di attivazione senza immagine, testo specificato e stato di selezione specificato.
  • JToggleButton (icona icona, booleano selezionato): questo costruttore crea un pulsante di commutazione senza testo, immagine specificata e stato di selezione specificato.
  • JToggleButton (testo stringa, icona icona, booleano selezionato): questo è il costruttore in cui è possibile fornire tutte e tre le proprietà: stato di selezione, testo e immagine.

Metodi di JToggleButton

Di seguito sono riportati i diversi metodi utilizzati in JToggleButton:

  • public void setText (String text): questo metodo imposta il testo che appare sul pulsante.
  • public void setSelected (boolean b): questo metodo imposta lo stato del pulsante. Se b è vero, il pulsante apparirà selezionato e se b è falso, il pulsante apparirà deselezionato.
  • public void setEnabled (boolean b): questo metodo viene utilizzato per disabilitare il pulsante. Se b è falso, il pulsante verrà visualizzato in grigio e non sarà più selezionabile.
  • public void setIcon (Icon defaultIcon): questo metodo imposta l'icona per questo pulsante. Questa icona verrà utilizzata come icona "premuto" e "disabilitato" se nessuna icona "premuto" è impostata esplicitamente.
  • public void setPressedIcon (Icon premutoIcon): questo metodo imposta l'icona "premuto" per questo pulsante. Questa icona verrà mostrata nel momento in cui l'utente preme il pulsante.
  • public AccessibleContext getAccessibleContext (): questo metodo restituisce il contesto accessibile associato a questo pulsante.
  • protected String paramString (): questo metodo restituisce la rappresentazione in formato stringa di questo pulsante. Questo metodo è a scopo di debug. Il valore di ritorno può essere vuoto ma non nullo.
  • public String getUIClassID (): questo metodo restituisce il nome della classe look and feel (l & f) di questo pulsante.
  • public void updateUI (): ripristina l'aspetto di questo pulsante.
  • public void addActionListener (ActionListener l): questo metodo ha collegato un listener di azioni a questo pulsante in modo che qualsiasi azione eseguita su questo pulsante possa essere catturata dal backend.
  • public void addItemListener (ItemListener l): questo metodo collega un listener di articoli a questo pulsante in modo che la selezione e la deselezione di questo pulsante possano essere gestite nel backend.

Programma per implementare 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);
)
)

Spiegazione

  • Questo programma è molto semplice e intuitivo. Raccoglie le informazioni dell'utente su quali lingue conosce.
  • Innanzitutto, abbiamo creato un frame di dimensioni 400 per 400 pixel e con una colonna e cinque righe.
  • Creati quattro pulsanti di attivazione / disattivazione per quattro lingue diverse: inglese, hindi, marathi e tamil e aggiunti al riquadro del contenitore.
  • Abbiamo impostato il colore di sfondo di questi pulsanti su rosso (fino a quando non è deselezionato).
  • Quindi ha aggiunto un'etichetta nella quinta riga nel riquadro per mostrare lo stato dell'applicazione.
  • Inizialmente, un pulsante per la lingua inglese viene selezionato usando il costruttore di JToggleButton, il che significa che l'utente conosce la lingua inglese per impostazione predefinita e tutti gli altri pulsanti sono deselezionati.
  • Per specificare la lingua conosciuta, l'utente dovrà fare clic su (selezionare) il pulsante specifico. Gli utenti possono fare nuovamente clic sul pulsante selezionato per deselezionarlo.
  • Quando un pulsante viene selezionato o deselezionato, un evento viene generato e memorizzato nella cache in un ItemListener e lo stato viene modificato di conseguenza.
  • Inoltre, per verificare l'azione corrente, viene creato e collegato un ActionListener a ciascun pulsante in modo che quando viene selezionata o deselezionata una lingua, l'utente esegua l'azione eseguita.
  • Usato può selezionare o deselezionare una o più lingue e vedere lo stato di conseguenza.

Produzione:

1. Questa è la nostra applicazione in cui la lingua inglese è selezionata per impostazione predefinita.

2. L'utente ha selezionato la lingua "Marathi" e lo stato e l'azione vengono modificati di conseguenza.

3. L'utente ha deselezionato la lingua "inglese" e lo stato e l'azione vengono modificati di conseguenza.

4. L'utente ha deselezionato la lingua "Marathi" e lo stato viene modificato di conseguenza.

Conclusione

JToggleButton è un componente importante di Swing che semplifica la scelta tra due scelte o risposte come yes o no, come illustrato nell'esempio. Possiamo anche usare caselle di controllo o pulsanti di opzione che sono sottoclassi di JToggleButton.

Articoli consigliati

Questa è una guida a JToggleButton. Qui discutiamo i costruttori e i metodi di JToggleButton insieme al suo programma. Puoi anche consultare i seguenti articoli per saperne di più -

  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. Come creare un pulsante radio?

Categoria: