Вступ до JToggleButton

JToggleButton - це просто двостайна кнопка, вибрана та знята з вибору. Це компонент Swing. Напевно, ви чули про прапорець і радіо кнопку. Це точно так само. Насправді JRadioButton та JCheckBox - це підкласи класу JToggleButton. Використання JToggleButton полягає у реєстрації вибору користувача між двома варіантами.

Наприклад, у нас може бути декілька JToggleButtons із зазначенням назви мови на кожній кнопці, і користувач буде вибирати / де-вибирати (вибрано за замовчуванням) кожну кнопку, щоб вказати, що він / вона знає / не знає відповідної мови. JToggleButton за замовчуванням знаходиться у вибраному стані.

Декларація JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Де,

  • AbstractButton визначає загальні функціональні можливості кнопок і MenuItems.
  • Accessible - це основний інтерфейс для пакету доступності. Він містить метод "getAccessibleContext", який повертає AccessibleContext, пов'язаний з цією кнопкою.

Конструктори JToggleButton

Нижче наведено різні конструктори JToggleButton:

  • JToggleButton (): Цей конструктор створює невибрану кнопку перемикання без тексту чи зображення.
  • JToggleButton (Дія a): Цей конструктор створює кнопку перемикання, яка має властивості від дії, що надається.
  • JToggleButton (Строковий текст): Цей конструктор створює невибрану кнопку перемикання із вказаним текстом та відсутністю зображення.
  • JToggleButton (Піктограма піктограми): Цей конструктор створює невибрану кнопку перемикання без тексту та заданого зображення.
  • JToggleButton (Рядок тексту, значок піктограми): Цей конструктор створює невибрану кнопку перемикання із зазначеним текстом та заданим зображенням.
  • JToggleButton (Строковий текст, вибрано булевий): Цей конструктор створює кнопку перемикання без зображення, вказаного тексту та заданого стану вибору.
  • JToggleButton (піктограма піктограми вибрана булева): Цей конструктор створює кнопку перемикання без тексту, вказаного зображення та вказаного стану вибору.
  • JToggleButton (Рядок тексту, піктограми значка, вибрано булеве значення): це конструктор, у якому можуть бути надані всі три властивості - стан вибору, текст та зображення.

Методи JToggleButton

Нижче наведено різні методи, використовувані в JToggleButton:

  • public void setText (Строковий текст): Цей метод встановлює текст, який відображається на кнопці.
  • public void setSelected (булева b): Цей метод встановлює стан кнопки. Якщо b відповідає дійсності, кнопка з’явиться вибраною, а якщо b - помилковою, кнопка буде видалена.
  • public void setEnabled (булева b): Цей метод використовується для відключення кнопки. Якщо b невірно, кнопка буде сірою, і її більше не можна натискати.
  • public void setIcon (Icon defaultIcon): Цей метод встановлює значок цієї кнопки. Цей значок буде використовуватися як значок "натиснутої" та "відключеної", якщо жодна "натиснута" піктограма не встановлена ​​явно.
  • public void setPressIcon (Значок натискається): Цей метод встановлює піктограму «натиснута» для цієї кнопки. Цей значок буде показаний у момент, коли користувач натисне кнопку.
  • public AccessibleContext getAccessibleContext (): Цей метод повертає доступний контекст, пов'язаний з цією кнопкою.
  • захищена String paramString (): Цей метод повертає рядкове представлення цієї кнопки. Цей метод призначений для налагодження. Повернене значення може бути порожнім, але не нульовим.
  • public String getUIClassID (): Цей метод повертає назву класу зовнішнього вигляду (l & f) цієї кнопки.
  • public void updateUI (): Скидає зовнішній вигляд цієї кнопки.
  • public void addActionListener (ActionListener l): Цей метод приєднав слухач дій до цієї кнопки, щоб будь-яку дію, виконану на цій кнопці, можна було вловити на початку.
  • public void addItemListener (ItemListener l): Цей метод приєднує прослуховувач елемента до цієї кнопки, щоб вибір і скасування вибору цієї кнопки можна було обробляти на початку.

Програма для впровадження 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);
)
)

Пояснення

  • Ця програма дуже проста та зрозуміла. Він збирає інформацію про користувача, які мови він / вона знає.
  • Спочатку ми створили кадр розміром 400 на 400 пікселів і маємо один стовпець і п'ять рядків.
  • Створено чотири кнопки перемикання для чотирьох різних мов - англійської, хінді, маратхі та тамільської та додано до рамки контейнера.
  • Ми встановили колір тла цих кнопок червоний (до відмітки).
  • Потім додали мітку в п’ятому ряду у кадрі, щоб показати статус програми.
  • Спочатку кнопка для англійської мови вибирається за допомогою конструктора JToggleButton, що означає, що користувач знає англійську мову за замовчуванням, а всі інші кнопки знімаються.
  • Щоб вказати відому мову, користувачеві доведеться натиснути (вибрати) конкретну кнопку. Користувачі можуть знову натиснути на вибрану кнопку, щоб зняти її.
  • Коли кнопка вибрана або відменена, подія запускається та кешується в ItemListener і стан відповідно змінюється.
  • Крім того, для перевірки поточної дії створюється ActionListener і додається до кожної кнопки, щоб, коли мова обрана або скасована, вибрана дія показана користувачеві.
  • Використовувані можуть вибирати або де-вибирати одну або кілька мов і відповідно переглядати стан.

Вихід:

1. Це наша програма, в якій англійська мова обрана за замовчуванням.

2. Користувач обрав мову "маратхі", а статус та дії змінено відповідно.

3. Користувач вибрав "англійську" мову, а статус та дії змінено відповідно.

4. Користувач вибрав мову "маратхі", і статус зміниться відповідно.

Висновок

JToggleButton - важливий компонент Swing, який дозволяє легко вказати вибір між двома варіантами відповідей, як-от так чи ні, як зображено в прикладі. Ми також можемо використовувати прапорці або радіо кнопки, які є підкласами JToggleButton.

Рекомендовані статті

Це посібник з JToggleButton. Тут ми обговорюємо конструктори та методи JToggleButton разом із його програмою. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. JPanel на Java
  2. JButton на Java
  3. JOptionPane на Java
  4. JScrollPane на Java
  5. JFrame на Java
  6. JLabel на Java
  7. Як створити RadioButton?