Úvod do JToggleButton

JToggleButton je jednoduše zvolené a deaktivované tlačítko se dvěma stavy. Je to součást Swing. Museli jste slyšet o zaškrtávacím políčku a přepínači. Je to úplně stejné. Ve skutečnosti jsou JRadioButton a JCheckBox podtřídy třídy JToggleButton. Použití JToggleButton je k zaregistrování volby uživatele mezi dvěma možnostmi.

Například můžeme mít více JToggleButtonů specifikujících název jazyka na každém tlačítku a uživatel vybere / zruší výběr (výchozí odznačí) každé tlačítko, aby určil, že zná / nezná příslušný jazyk. JToggleButton je ve výchozím stavu v nezvoleném stavu.

Prohlášení JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Kde,

  • AbstractButton definuje běžné funkce tlačítek a menu.
  • Přístupnost je hlavní rozhraní balíčku usnadnění přístupu. Obsahuje metodu „getAccessibleContext“, která vrací přístupný text spojený s tímto tlačítkem.

Konstruktory JToggleButton

Níže jsou uvedeny různé konstruktéry JToggleButton:

  • JToggleButton (): Tento konstruktor vytvoří nevybrané přepínací tlačítko bez textu nebo obrázku.
  • JToggleButton (Akce a): Tento konstruktor vytvoří přepínací tlačítko mající vlastnosti z dodané akce.
  • JToggleButton (text řetězce): Tento konstruktor vytvoří nevybrané přepínací tlačítko se zadaným textem a bez obrázku.
  • JToggleButton (ikona Ikona): Tento konstruktor vytvoří nevybrané přepínací tlačítko bez textu a zadaného obrázku.
  • JToggleButton (text řetězce, ikona ikony): Tento konstruktor vytvoří nevybrané přepínací tlačítko se zadaným textem a zadaným obrázkem.
  • JToggleButton (Řetězcový text, vybrán boolean): Tento konstruktor vytvoří přepínací tlačítko bez obrázku, zadaného textu a zadaného stavu výběru.
  • JToggleButton (ikona Ikona, vybrána boolean): Tento konstruktor vytvoří přepínací tlačítko bez textu, zadaného obrázku a zadaného stavu výběru.
  • JToggleButton (text řetězce, ikona ikony, booleovský vybraný): Toto je konstruktor, kde lze poskytnout všechny tři vlastnosti - stav výběru, text a obrázek.

Metody JToggleButton

Níže jsou uvedeny různé metody používané v JToggleButton:

  • public void setText (String text): Tato metoda nastavuje text, který se objeví na tlačítku.
  • public void setSelected (boolean b): Tato metoda nastavuje stav tlačítka. Pokud je b pravdivé, tlačítko se zobrazí vybrané a pokud b je nepravdivé, bude toto tlačítko zrušeno.
  • public void setEnabled (boolean b): Tato metoda se používá k deaktivaci tlačítka. Pokud je b nepravdivé, tlačítko bude šedé a nebude na něj již možné kliknout.
  • public void setIcon (Icon defaultIcon): Tato metoda nastavuje ikonu pro toto tlačítko. Tato ikona bude použita jako ikona „stisknuto“ a „deaktivováno“, pokud není explicitně nastavena žádná ikona „stisknutí“.
  • public void setPressedIcon (Icon pressIcon): Tato metoda nastaví ikonu „stisknuto“ pro toto tlačítko. Tato ikona se zobrazí v okamžiku, kdy uživatel stiskne tlačítko.
  • public AccessibleContext getAccessibleContext (): Tato metoda vrací přístupný kontext spojený s tímto tlačítkem.
  • protected String paramString (): Tato metoda vrací řetězcové zobrazení tohoto tlačítka. Tato metoda je pro účely ladění. Návratová hodnota může být prázdná, ale nikoli nulová.
  • public String getUIClassID (): Tato metoda vrací název třídy vzhledu a vzhledu (l & f) tohoto tlačítka.
  • public void updateUI (): Resetuje vzhled a dojem z tohoto tlačítka.
  • public void addActionListener (ActionListener l): Tato metoda připojila posluchače akcí k tomuto tlačítku, takže jakákoli akce provedená na tomto tlačítku může být zachycena na pozadí.
  • public void addItemListener (ItemListener l): Tato metoda připojí posluchače položek k tomuto tlačítku, takže výběr a zrušení výběru tohoto tlačítka lze zpracovat na koncovém zařízení.

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

Vysvětlení

  • Tento program je velmi jednoduchý a srozumitelný. Shromažďuje informace o uživateli, o kterých všech jazycích ví.
  • Nejprve jsme vytvořili snímek o velikosti 400 x 400 pixelů, který má jeden sloupec a pět řádků.
  • Vytvořili čtyři přepínací tlačítka pro čtyři různé jazyky - angličtinu, hindštinu, marathi a tamilštinu a přidali se do rámu kontejneru.
  • Nastavili jsme barvu pozadí těchto tlačítek na červenou (dokud nezrušíte výběr).
  • Poté přidal štítek do pátého řádku v rámečku pro zobrazení stavu aplikace.
  • Zpočátku je tlačítko pro anglický jazyk vybráno pomocí konstruktoru JToggleButton, což znamená, že uživatel ve výchozím nastavení zná anglický jazyk a všechna ostatní tlačítka jsou zrušena.
  • Pro určení známého jazyka musí uživatel kliknout na (vybrat) konkrétní tlačítko. Uživatelé mohou klepnutím znovu na vybrané tlačítko zrušit výběr.
  • Když je tlačítko vybráno nebo zrušeno, událost je spuštěna a uložena do mezipaměti v ItemListeneru a odpovídajícím způsobem se změní stav.
  • Pro kontrolu aktuální akce se také vytvoří ActionListener a připojí se ke každému tlačítku tak, aby se při výběru nebo zrušení výběru jazyka uživateli zobrazila vykonaná akce.
  • Použitý může vybrat nebo zrušit výběr jednoho nebo více jazyků a podle toho zobrazit stav.

Výstup:

1. Toto je naše aplikace, ve které je ve výchozím nastavení vybrán anglický jazyk.

2. Uživatel si vybral jazyk „Marathi“ a stav a akce se odpovídajícím způsobem změní.

3. Uživatel zrušil výběr „anglického“ jazyka a stav a akce se odpovídajícím způsobem změní.

4. Uživatel zrušil výběr jazyka „Marathi“ a stav se odpovídajícím způsobem změnil.

Závěr

JToggleButton je důležitou součástí Swing, což usnadňuje specifikování volby mezi dvěma možnostmi nebo odpověďmi jako ano nebo ne, jak je znázorněno v příkladu. Můžeme také použít zaškrtávací políčka nebo přepínače, které jsou podtřídami JToggleButton.

Doporučené články

Toto je průvodce JToggleButton. Zde diskutujeme konstruktéry a metody JToggleButton spolu s jeho programem. Další informace naleznete také v následujících článcích -

  1. JPanel v Javě
  2. JButton v Javě
  3. JOptionPane v Javě
  4. JScrollPane v Javě
  5. JFrame v Javě
  6. JLabel v Javě
  7. Jak vytvořit RadioButton?

Kategorie: