📅  最后修改于: 2023-12-03 15:16:58.280000             🧑  作者: Mango
JRadioButton是Java中Swing组件库中的一种单选按钮组件,可以用于用户在选项中选择一个选项。它是由AbstractButton类继承而来,通常是在ButtonGroup对象中使用,以便在同一组中相互排斥。
以下示例演示了如何创建和使用单选按钮组件:
import java.awt.*;
import javax.swing.*;
public class JRadioButtonExample extends JFrame {
private JRadioButton radioButton1, radioButton2, radioButton3;
private JLabel label;
public JRadioButtonExample() {
setTitle("JRadioButton Example");
// 创建单选按钮
radioButton1 = new JRadioButton("Option 1");
radioButton2 = new JRadioButton("Option 2");
radioButton3 = new JRadioButton("Option 3");
// 将单选按钮添加到同一个 ButtonGroup 中
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(radioButton1);
buttonGroup.add(radioButton2);
buttonGroup.add(radioButton3);
// 创建标签,用于显示选择结果
label = new JLabel("No selection");
// 将单选按钮和标签添加到容器中
Container contentPane = getContentPane();
contentPane.setLayout(new GridLayout(4, 1));
contentPane.add(radioButton1);
contentPane.add(radioButton2);
contentPane.add(radioButton3);
contentPane.add(label);
// 添加事件监听器,处理单选按钮选中事件
radioButton1.addActionListener(e -> label.setText("Option 1 selected"));
radioButton2.addActionListener(e -> label.setText("Option 2 selected"));
radioButton3.addActionListener(e -> label.setText("Option 3 selected"));
// 设置窗口大小、位置、可见性等属性
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 150);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new JRadioButtonExample();
}
}
以下是JRadioButton常用属性的列表:
| 属性 | 类型 | 描述 | | ----------- | --------- | ------------------------------------------------------------ | | Text | String | 用于显示单选按钮的文本 | | Selected | boolean | 指示单选按钮是否被选中 | | Mnemonic | int | 用于快速选择单选按钮的助记键,一般为一个表示首字母的字符 | | ActionCommand | String | 用于识别单选按钮的命令 | | Accelerator | KeyStroke | 用于快速选择单选按钮的快捷键,一般是Ctrl/Command键加上一个字母 | | Icon | Icon | 用于显示在单选按钮旁边的图标 | | ToolTipText | String | 当用户鼠标悬停在单选按钮上时显示的提示文本 |
以下是JRadioButton常用方法的列表:
| 方法名 | 描述 | | --------------------------------------------------------- | ------------------------------------------------------------ | | addActionListener(ActionListener listener) | 当单选按钮被选中时,添加一个事件监听器 | | setEnabled(boolean enabled) | 启用或禁用单选按钮 | | getText() | 返回单选按钮的文本 | | setText(String text) | 设置单选按钮的文本 | | setSelected(boolean selected) | 设置单选按钮是否被选中 | | isSelected() | 返回单选按钮是否被选中 | | getMnemonic() | 返回单选按钮的助记键 | | setMnemonic(int mnemonic) | 设置单选按钮的助记键 | | setActionCommand(String command) | 设置单选按钮的操作命令 | | getActionCommand() | 返回单选按钮的操作命令 | | setAccelerator(KeyStroke key) | 设置单选按钮的快捷键 | | getAccelerator() | 返回单选按钮的快捷键 | | setIcon(Icon defaultIcon) | 设置单选按钮的图标 | | setPressedIcon(Icon pressedIcon) | 设置单选按钮的按下时图标 | | setRolloverIcon(Icon rolloverIcon) | 设置单选按钮的鼠标滚过时图标 | | setDisabledIcon(Icon disabledIcon) | 设置单选按钮的禁用时图标 | | setSelectedIcon(Icon selectedIcon) | 设置单选按钮被选中时的图标 | | setDisabledSelectedIcon(Icon disabledSelectedIcon) | 设置单选按钮被禁用时被选中的图标 | | setRolloverSelectedIcon(Icon rolloverSelectedIcon) | 设置单选按钮被鼠标滚过时被选中的图标 | | getToolTipText() | 返回当用户鼠标悬停在单选按钮上时显示的提示文本 | | setToolTipText(String text) | 设置当用户鼠标悬停在单选按钮上时显示的提示文本 | | addChangeListener(ChangeListener listener) | 添加由 SingleSelectionModel 实现的更改侦听器 | | removeChangeListener(ChangeListener listener) | 删除由 SingleSelectionModel 实现的更改侦听器 | | setModel(ButtonModel newModel) | 设置 SingleSelectionModel 中使用的模型(ButtonModel) | | getModel() | 返回单选按钮的模型(ButtonModel) | | setHorizontalAlignment(int alignment) | 设置按钮中标签的水平对齐方式,可以为 LEFT、CENTER 或 RIGHT | | setVerticalAlignment(int alignment) | 设置按钮中标签的垂直对齐方式,可以为 TOP、CENTER 或 BOTTOM | | getAccessibleContext() | 返回用于访问单选按钮的 AccessibleContext 对象 | | updateUI() | 更新 LookAndFeel 的 UI |
JRadioButton是Java Swing中一个非常有用的组件,能够帮助我们创建单选按钮,使用户选中其中一个选项。在实际的应用中,如果需要用户做出选择,我们可以使用JRadioButton来完成。在使用JRadioButton时,需要注意它的属性和方法,以便更好地控制单选按钮的行为和外观。