Въведение в 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 (String text): Този конструктор създава неизбран бутон за превключване с посочения текст и без изображение.
  • JToggleButton (икона на иконата): Този конструктор създава неизбран бутон за превключване без текст и определено изображение.
  • JToggleButton (String text, Icon icon): Този конструктор създава неизбран бутон за превключване с посочения текст и определеното изображение.
  • JToggleButton (String text, boolean selected): Този конструктор създава бутон за превключване без изображение, посочен текст и посоченото състояние за избор.
  • JToggleButton (Икона на иконата, избран логически): Този конструктор създава превключващ бутон без текст, определено изображение и определено състояние за избор.
  • JToggleButton (String text, Icon icon, boolean selected): Това е конструкторът, в който могат да бъдат предоставени и трите свойства - състояние на селекция, текст и изображение.

Методи на JToggleButton

По-долу са различните методи, използвани в JToggleButton:

  • public void setText (String text): Този метод задава текста, който се появява на бутона.
  • public void setSelected (boolean b): Този метод задава състоянието на бутона. Ако b е истина, бутонът ще се появи избран, а ако b е невярно, бутонът ще се избере.
  • public void setEnabled (boolean 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?