Введение в 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 вместе с его программой. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- JPanel на Java
- JButton на Java
- JOptionPane в Java
- JScrollPane в Java
- JFrame в Java
- JLabel на Java
- Как создать RadioButton?