JToggleButton是一个两状态按钮。这两种状态是选中和未选中的。这个 单选框组件 和 复选框 类是这个类的子类。当用户按下切换按钮时,它会在按下或未按下之间切换。JToggleButton用于从可能的选项列表中选择一个选项。按钮可以通过操作进行配置,并在一定程度上进行控制。除了直接配置按钮外,将操作与按钮一起使用还有许多好处。
JToggleButton中的构造函数:
- JToggleButton(): 创建最初未选中的切换按钮,而不设置文本或图像。
- JToggleButton(动作a): 创建一个切换按钮,其中属性取自提供的操作。
- JToggleButton(图标): 创建一个初始未选中的切换按钮,该按钮具有指定的图像,但没有文本。
- JToggleButton(图标图标,布尔选择): 创建具有指定图像和选择状态的切换按钮,但不包含文本。
- JToggleButton(字符串文本): 使用指定文本创建未选中的切换按钮。
- JToggleButton(字符串文本,选择布尔值): 创建具有指定文本和选择状态的切换按钮。
- JToggleButton(字符串文本、图标): 创建一个切换按钮,该按钮具有指定的文本和图像,并且最初未选中。
- JToggleButton(字符串文本、图标图标、布尔选择): 创建具有指定文本、图像和选择状态的切换按钮。
常用方法:
方法 | 描述 |
---|---|
getAccessibleContext() | 获取与此JToggleButton关联的AccessibleContext。 |
getUIClassID() | 返回一个字符串,该字符串指定呈现此组件的l&f类的名称。 |
paramString() | 返回此JToggleButton的字符串表示形式。 |
updateUI() | 将UI属性重置为当前外观的值。 |
下面的程序演示了JToggleButton类:
1.使用ItemListener实现JToggleButton事件的Java程序: 在这个程序中,我们使用 JFrame() 在这里 setDefaultCloseOperation() 用于设置帧的关闭选项。使用 JToggleButton() 创建一个按钮。实例化 ItemListener 只包含 itemStateChanged() 方法,该方法在单击按钮时自动调用。事件在按钮上生成,相应地,输出被打印到控制台。附加所有侦听器并添加 ItemListener 按按钮。将按钮添加到框架并设置框架的大小。
JAVA
import java.awt.BorderLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JFrame; import javax.swing.JToggleButton; public class JToggleButtonExamp { // Main Method public static void main(String args[]) { // create a frame and set title JFrame frame = new JFrame( "Selecting Toggle" ); // set the default close operation of the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create a ToggleButton JToggleButton toggleButton = new JToggleButton( "Toggle Button" ); // ItemListener is notified whenever you click on the Button ItemListener itemListener = new ItemListener() { // itemStateChanged() method is nvoked automatically // whenever you click or unlick on the Button. public void itemStateChanged(ItemEvent itemEvent) { // event is generated in button int state = itemEvent.getStateChange(); // if selected print selected in console if (state == ItemEvent.SELECTED) { System.out.println( "Selected" ); } else { // else print deselected in console System.out.println( "Deselected" ); } } }; // Attach Listeners toggleButton.addItemListener(itemListener); frame.add(toggleButton, BorderLayout.NORTH); frame.setSize( 300 , 125 ); frame.setVisible( true ); } } |
输出:
2.使用ActionListener实现JToggleButton事件的Java程序: 这里,在JFrame上创建了一个JToggleButton。然后,我们定义ActionListener。 执行的动作() 这是唯一的方法 ActionListener() 每当单击已注册的组件时都会调用。 抽象按钮。getModel()。选举产生() 如果选择按钮,则返回true,否则返回false。将侦听器连接到ToggleButton。
JAVA
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.AbstractButton; import javax.swing.JFrame; import javax.swing.JToggleButton; public class JToggleButtonExamp { // Main Method public static void main(String args[]) { // create the JFrame JFrame frame = new JFrame( "Selecting Toggle" ); // set default close operation for frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create a ToggleButton JToggleButton toggleButton = new JToggleButton( "Toggle Button" ); // Define ActionListener ActionListener actionListener = new ActionListener() { // actionPerformed() method is invoked // automatically whenever you click on // registered component public void actionPerformed(ActionEvent actionEvent) { AbstractButton abstractButton = (AbstractButton)actionEvent.getSource(); // return true or false according // to the selection or deselection // of the button boolean selected = abstractButton.getModel().isSelected(); System.out.println( "Action - selected=" + selected + "" ); } }; // Attach Listeners toggleButton.addActionListener(actionListener); // add ToggleButton to the frame frame.add(toggleButton, BorderLayout.NORTH); // set size of the frame frame.setSize( 300 , 125 ); frame.setVisible( true ); } } |
输出:
注: 上述程序可能无法在联机IDE中运行。请使用脱机编译器。
参考: https://docs.oracle.com/javase/7/docs/api/javax/swing/JToggleButton.html