Введение в JToggleButton

JToggleButton - это просто кнопка с двумя состояниями, выбранная и отмененная. Это компонент Swing. Вы, наверное, слышали о флажке и переключателе. Это точно так же. Фактически, JRadioButton и JCheckBox являются подклассами класса JToggleButton. Использование JToggleButton заключается в том, чтобы зарегистрировать выбор пользователя между двумя вариантами.

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

Декларация JToggleButton

public class JToggleButton
extends AbstractButton
implements Accessible

Где,

  • AbstractButton определяет общие функции кнопок и элементов меню.
  • Доступным является основной интерфейс для пакета доступности. Он содержит метод «getAccessibleContext», который возвращает AccessibleContext, связанный с этой кнопкой.

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

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

  • JToggleButton (): этот конструктор создает невыбранную кнопку переключения без текста или изображения.
  • JToggleButton (Action a): этот конструктор создает кнопку-переключатель, имеющую свойства от предоставленного действия.
  • JToggleButton (String text): этот конструктор создает невыбранную кнопку переключения с указанным текстом и без изображения.
  • JToggleButton (значок значка): этот конструктор создает невыбранную кнопку переключения без текста и указанного изображения.
  • JToggleButton (текст строки, значок значка): этот конструктор создает невыбранную кнопку переключения с указанным текстом и указанным изображением.
  • JToggleButton (текст строки, логическое выделение): этот конструктор создает кнопку переключения без изображения, указанного текста и указанного состояния выбора.
  • JToggleButton (значок значка, выбрано логическое значение): этот конструктор создает кнопку переключения без текста, указанного изображения и указанного состояния выбора.
  • JToggleButton (текст строки, значок значка, логическое выделение ): это конструктор, в котором могут быть предоставлены все три свойства - состояние выбора, текст и изображение.

Методы JToggleButton

Ниже приведены различные методы, используемые в JToggleButton:

  • public void setText (String text): этот метод устанавливает текст, который появляется на кнопке.
  • public void setSelected (boolean b): Этот метод устанавливает состояние кнопки. Если b - true, кнопка будет отображаться выбранной, а если b - false, кнопка будет отменена.
  • public void setEnabled (логическое значение b): этот метод используется для отключения кнопки. Если b равно false, кнопка будет недоступна и больше не будет щелкаться.
  • public void setIcon (Icon defaultIcon): Этот метод устанавливает значок для этой кнопки. Этот значок будет использоваться в качестве значка «нажата» и «отключена», если значок «нажата» явно не установлен.
  • public void setPressedIcon (Icon selectedIcon): этот метод устанавливает значок «нажатой» для этой кнопки. Этот значок будет отображаться в тот момент, когда пользователь нажимает кнопку.
  • public AccessibleContext getAccessibleContext (): Этот метод возвращает доступный контекст, связанный с этой кнопкой.
  • protected 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?