Wprowadzenie do JToggleButton

JToggleButton to po prostu przycisk dwustanowy wybrany i cofnięty. Jest to komponent Swing. Musiałeś słyszeć o polu wyboru i przycisku opcji. Jest dokładnie tak samo. W rzeczywistości JRadioButton i JCheckBox są podklasami klasy JToggleButton. Zastosowanie JToggleButton polega na zarejestrowaniu wyboru użytkownika między dwiema opcjami.

Na przykład, możemy mieć wiele JToggleButtons określających nazwę języka na każdym przycisku, a użytkownik wybierze / odznaczy (domyślnie cofnie zaznaczenie) każdy przycisk, aby określić, że zna / nie zna odpowiedniego języka. JToggleButton jest domyślnie w stanie niezaznaczonym.

Deklaracja JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Gdzie,

  • AbstractButton definiuje typowe funkcje Buttons i MenuItems.
  • Accessible to główny interfejs pakietu ułatwień dostępu. Zawiera metodę „getAccessibleContext”, która zwraca AccessibleContext skojarzony z tym przyciskiem.

Konstruktory JToggleButton

Poniżej znajdują się różne konstruktory JToggleButton:

  • JToggleButton (): Ten konstruktor tworzy niezaznaczony przycisk przełączania bez tekstu lub obrazu.
  • JToggleButton (akcja a): ten konstruktor tworzy przycisk przełączania mający właściwości z dostarczonej akcji.
  • JToggleButton (tekst ciągowy): ten konstruktor tworzy niezaznaczony przycisk przełączania z określonym tekstem i bez obrazu.
  • JToggleButton (ikona ikony): ten konstruktor tworzy niezaznaczony przycisk przełączania bez tekstu i określonego obrazu.
  • JToggleButton (tekst ciągowy, ikona ikony): ten konstruktor tworzy niezaznaczony przycisk przełączania z określonym tekstem i określonym obrazem.
  • JToggleButton (Tekst ciągu, wybrano wartość logiczną): Ten konstruktor tworzy przycisk przełączania bez obrazu, określonego tekstu i określonego stanu zaznaczenia.
  • JToggleButton (ikona ikony, wybrana wartość logiczna): ten konstruktor tworzy przycisk przełączania bez tekstu, określonego obrazu i określonego stanu zaznaczenia.
  • JToggleButton (tekst ciąg, ikona Ikona, wybrana wartość logiczna): To konstruktor, w którym można podać wszystkie trzy właściwości - stan zaznaczenia, tekst i obraz.

Metody JToggleButton

Poniżej znajdują się różne metody używane w JToggleButton:

  • public void setText (tekst ciągowy): Ta metoda ustawia tekst wyświetlany na przycisku.
  • public void setSelected (boolean b): Ta metoda ustawia stan przycisku. Jeśli b jest prawdą, przycisk będzie wyglądał na wybrany, a jeśli b jest fałszem, przycisk będzie wyglądał na niezaznaczony.
  • public void setEnabled (boolean b): Ta metoda służy do wyłączenia przycisku. Jeśli b jest fałszem, przycisk będzie wyszarzony i nie będzie już klikalny.
  • public void setIcon (Icon defaultIcon): Ta metoda ustawia ikonę tego przycisku. Ta ikona będzie używana jako ikona „wciśnięta” i „wyłączona”, jeśli nie zostanie wyraźnie ustawiona ikona „wciśnięta”.
  • public void setPressedIcon (Icon naciskającIcon): Ta metoda ustawia ikonę „wciśniętą” dla tego przycisku. Ta ikona pojawi się w momencie, gdy użytkownik naciśnie przycisk.
  • public AccessibleContext getAccessibleContext (): Ta metoda zwraca dostępny kontekst powiązany z tym przyciskiem.
  • chroniony ciąg paramString (): Ta metoda zwraca ciąg reprezentujący ten przycisk. Ta metoda służy do debugowania. Zwracana wartość może być pusta, ale nie zerowa.
  • public String getUIClassID (): Ta metoda zwraca nazwę klasy look i feel (l & f) tego przycisku.
  • public void updateUI (): Resetuje wygląd tego przycisku.
  • public void addActionListener (ActionListener l): Ta metoda podłączyła detektor akcji do tego przycisku, aby każda akcja wykonana na tym przycisku mogła zostać przechwycona na backendie.
  • public void addItemListener (ItemListener l): Ta metoda dołącza detektor przedmiotów do tego przycisku, aby wybór i cofnięcie wyboru tego przycisku mogły być obsługiwane na wewnętrznej stronie zaplecza.

Program do implementacji 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);
)
)

Wyjaśnienie

  • Ten program jest bardzo prosty i zrozumiały. Gromadzi informacje o użytkowniku, o których wszystkich językach on / ona zna.
  • Najpierw stworzyliśmy ramkę o rozmiarze 400 na 400 pikseli i mającą jedną kolumnę i pięć wierszy.
  • Utworzono cztery przyciski przełączania dla czterech różnych języków - angielskiego, hindi, marathi i tamilskiego i dodano do ramki kontenera.
  • Ustawiliśmy kolor tła tych przycisków na czerwony (dopóki nie zostanie odznaczony).
  • Następnie dodano etykietę w piątym rzędzie w ramce, aby pokazać status aplikacji.
  • Początkowo przycisk języka angielskiego jest wybierany za pomocą konstruktora JToggleButton, co oznacza, że ​​użytkownik domyślnie zna język angielski, a wszystkie pozostałe przyciski są odznaczone.
  • Aby określić znany język, użytkownik będzie musiał kliknąć (wybrać) określony przycisk. Użytkownicy mogą ponownie kliknąć wybrany przycisk, aby go odznaczyć.
  • Po wybraniu lub usunięciu przycisku zdarzenie jest uruchamiane i buforowane w elemencie ItemListener, a status odpowiednio się zmienia.
  • Ponadto, aby sprawdzić bieżącą akcję, tworzony jest ActionListener i dołączany do każdego przycisku, aby po wybraniu lub odznaczeniu języka wykonywana akcja była pokazywana użytkownikowi.
  • Używany może wybrać lub odznaczyć jeden lub więcej języków i odpowiednio wyświetlić status.

Wynik:

1. To jest nasza aplikacja, w której domyślnie wybierany jest język angielski.

2. Użytkownik wybrał język „marathi”, a status i działanie zostały odpowiednio zmienione.

3. Użytkownik odznaczył język „angielski”, a status i działanie zostały odpowiednio zmienione.

4. Użytkownik odznaczył język „marathi”, a status został odpowiednio zmieniony.

Wniosek

JToggleButton jest ważnym komponentem w Swing, który ułatwia określenie wyboru między dwiema opcjami lub odpowiedziami typu tak lub nie, jak pokazano w przykładzie. Możemy również użyć pól wyboru lub przycisków opcji, które są podklasami JToggleButton.

Polecane artykuły

To jest przewodnik po JToggleButton. Tutaj omawiamy konstruktory i metody JToggleButton wraz z jego programem. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. JPanel w Javie
  2. JButton w Javie
  3. JOptionPane w Javie
  4. JScrollPane w Javie
  5. JFrame w Javie
  6. JLabel w Javie
  7. Jak stworzyć RadioButton?