单选按钮就是在给出的多个显示信息中指定选择一个,在swing中可以使用JRadioButton完成一组单选按钮的操作。
package com.beyole.util; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; class MyRadio { private JFrame jFrame = new JFrame("Beyole");// 定义一个窗体 private Container container = jFrame.getContentPane();// 得到窗体容器 private JRadioButton jb1 = new JRadioButton("主站");// 定义一个单选按钮 private JRadioButton jb2 = new JRadioButton("博客");// 定义一个单选按钮 private JRadioButton jb3 = new JRadioButton("论坛");// 定义一个单选按钮 private JPanel panel = new JPanel();// /定义一个面板 public MyRadio() { panel.setBorder(BorderFactory.createTitledBorder("请选择最喜欢的网站"));// 定义一个面板的边框显示条 panel.setLayout(new GridLayout(1, 3));// 定义排版,一行三列 panel.add(this.jb1);// 加入组件 panel.add(this.jb2);// 加入组件 panel.add(this.jb3);// 加入组件 ButtonGroup group = new ButtonGroup(); group.add(this.jb1); group.add(this.jb2); group.add(this.jb3); container.add(panel);// 加入面板 this.jFrame.setSize(330, 80);// 设置窗体大小 this.jFrame.setVisible(true);// 显示窗体 this.jFrame.addWindowListener(new WindowAdapter() { // 加入事件监听 public void windowClosing(WindowEvent arg0) { // 复写窗口关闭的方法 System.exit(1);// 系统退出 } }); } } public class JRadioButtonDemo { public static void main(String[] args) { new MyRadio(); } }
这边的代码有一处是非常要注意的,因为没有这段代码,单选按钮就不是真正的单选按钮,那时是可以支持多选的。
ButtonGroup group = new ButtonGroup(); group.add(this.jb1); group.add(this.jb2); group.add(this.jb3);
这边是给单选按钮编一个组,这时候,就不会出现多选的情况了。
程序截图: