单选框(RadioButton)和复选框(CheckBox)

1)RadioButton(单选按钮)

获得选中的值:

这里有两种方法,

第一种是为RadioButton设置一个事件监听器setOnCheckChangeListener


第二种方法是通过单击其他按钮获取选中单选按钮的值,当然我们也可以直接获取,这个看需求~

为提交按钮设置了一个setOnClickListener事件监听器,每次点击的话遍历一次RadioGroup判断哪个按钮被选中我们可以通过下述方法获得RadioButton的相关信息!

  • getChildCont( )获得按钮组中的单选按钮的数目;
  • getChinldAt(i):根据索引值获取我们的单选按钮
  • isChecked( ):判断按钮是否选中

2)CheckBox(复选框)

如题复选框,即可以同时选中多个选项,至于获得选中的值,同样有两种方式: 

1.为每个CheckBox添加事件:setOnCheckedChangeListener 

2.弄一个按钮,在点击后,对每个checkbox进行判断:isChecked();


2.自定义点击效果

虽然5.0后的RadioButton和Checkbox都比旧版本稍微好看了点,但是对于我们来说 可能还是不喜欢或者需求,需要自己点击效果!实现起来很简单,先编写一个自定义 的selctor资源,设置选中与没选中时的切换图片~!

我们有两种方法设置,也可以说一种吧!你看看就知道了~

①android:button属性设置为上述的selctor

android:button="@drawable/rad_btn_selctor"

②在style中定义一个属性,然后通过android style属性设置,先往style添加下述代码:

    <style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
        <item name="android:button">@drawable/rad_btn_selctor</item>
    </style>

然后布局那里:

style="@style/MyCheckBox"

3.改变文字与选择框的相对位置

Step 1. android:button="@null"    可以通过这方法来隐藏选中按钮
Step 2. android:drawableXxx="@android:drawable/btn_radio"


4.修改文字与选择框的距离

有时,我们可能需要调节文字与选择框之间的距离,让他们看起来稍微没那么挤,我们可以:
1.在XML代码中控制: 使用android:paddingXxx = "xxx" 来控制距离
2.在Java代码中,稍微好一点,动态计算paddingLeft!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来给你提供一个简单的Java Swing代码示例,演示如何创建单选框复选框、标签和选择框的结构: ```java import javax.swing.*; import java.awt.*; public class DemoGUI extends JFrame { public DemoGUI() { // 创建一个面板 JPanel panel = new JPanel(); panel.setLayout(new GridLayout(4, 1)); // 设置面板布局 // 创建单选框 JRadioButton radioButton1 = new JRadioButton("选项1"); JRadioButton radioButton2 = new JRadioButton("选项2"); JRadioButton radioButton3 = new JRadioButton("选项3"); ButtonGroup group = new ButtonGroup(); // 创建按钮组 group.add(radioButton1); // 将单选框添加到按钮组中 group.add(radioButton2); group.add(radioButton3); panel.add(radioButton1); // 添加单选框到面板中 panel.add(radioButton2); panel.add(radioButton3); // 创建复选框 JCheckBox checkBox1 = new JCheckBox("选项1"); JCheckBox checkBox2 = new JCheckBox("选项2"); JCheckBox checkBox3 = new JCheckBox("选项3"); panel.add(checkBox1); // 添加复选框到面板中 panel.add(checkBox2); panel.add(checkBox3); // 创建标签 JLabel label = new JLabel("这是一个标签"); panel.add(label); // 添加标签到面板中 // 创建选择框 JComboBox<String> comboBox = new JComboBox<>(); comboBox.addItem("选项1"); comboBox.addItem("选项2"); comboBox.addItem("选项3"); panel.add(comboBox); // 添加选择框到面板中 // 将面板添加到窗口中 getContentPane().add(panel); setSize(400, 300); // 设置窗口大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭方式 setVisible(true); // 显示窗口 } public static void main(String[] args) { new DemoGUI(); // 启动窗口 } } ``` 此示例创建了一个包含单选框复选框、标签和选择框的简单GUI界面,并将它们添加到一个面板中。你可以根据自己的需要修改代码,以创建更复杂的GUI界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值