首页 > 代码库 > 单选与复选控件JRadioButton与JCheckBox的使用

单选与复选控件JRadioButton与JCheckBox的使用

-----------------siwuxie095

   

   

   

   

   

   

   

工程名:TestUI

包名:com.siwuxie095.ui

类名:TestTextFieldAndTextArea.java

   

   

工程结构目录如下:

   

技术分享

   

   

   

   

单选控件 JRadioButton:

   

Design 中,选择根面板 contentPane,将其布局改为 GroupLayout,

contentPane 上添加 3 个 JRadioButton,将其文本(text)分别改为:

option1、option2、option3,再分别 Rename 为:r1、r2、r3

   

技术分享

   

   

   

此时,每一个单选按钮都可以被选定,如下:

   

技术分享

   

   

   

让这三个单选按钮联合起来,使之只有一个能被选定,

需要使用一个组:ButtonGroup

   

「ButtonGroup 本身不是控件(组件),不能放到容器中,且不可视」

   

切换到 Source,在三个 JRadioButton 的定义的下方,

创建一个 ButtonGroup,将三个按钮添加到这个组中

   

技术分享

   

   

   

r1、r2、r3 的实体还是在 contentPane 中,

group 中存放的只是对它们的引用:

   

技术分享

   

   

   

此时,只有一个单选按钮可被选定,如下:

   

技术分享

   

   

   

在窗体刚运行时,三个按钮都没有被选中,如果需要某个按钮

默认是被选中的状态,可以将该按钮的 selected 属性改为 true

   

   

继续向 contentPane 添加一个 JButton 和一个 JTextField,

并将 JButton 的文本(text)改为 get,Rename 成 btnGet

   

实现:选定某单选按钮,点击 get,在 JTextField 文本框中

显示对应信息

   

技术分享

   

   

   

效果如下:

   

技术分享

   

   

   

还可以在 contentPane 中添加一个 JPanel,放在中间,

将其布局 Layout 改为 GroupLayout,指定其 border

TitledBorder,将 Title 设置为 选择题1,其他默认

   

技术分享

   

   

   

将所有的 JRadioButton、JButton、JTextField 全部移动到

这个 JPanel 中

   

技术分享

   

   

   

效果如下:

   

技术分享

   

   

   

   

   

   

   

复选控件 JCheckBox:

   

创建一个新的 JPanel 放在 contentPane 中,同样将

其布局 Layout 改为 GroupLayout,指定其 border

TitledBorder,将 Title 设置为 选择题2,其他默认

   

   

在这个 JPanel 中添加 3 个 JCheckBox,将其文本(text)分别

改为:Java、Swift、C#,再分别 Rename 为:c1、c2、c3

   

继续向这个 JPanel 中添加一个 JButton 和一个 JLabel,

JButton 的文本改为 get,Rename 成 btnGetX

   

技术分享

   

   

   

实现:勾选复选框,点击 get,在 JLabel 标签中

显示对应信息

   

技术分享

   

   

   

效果如下:

   

技术分享

   

   

   

   

   

   

【made by siwuxie095】

单选与复选控件JRadioButton与JCheckBox的使用