在Swing中使用JRadioButton类来创建单选钮。ButtonGroup类是按钮组,可以使用ButtonGroup类的add()方法 将一组单选钮添加到按钮组中。
setSelected(boolean b)方法:设置单选钮稿掘为选中状态。型敬首
isSelected()方法:判断单选钮是卜数否选中。
示例:创建单选钮,并设置默认选项。
// 创建单选钮
JRadioButton rdoMan = new JRadioButton("男")
JRadioButton rdoWoman = new JRadioButton("女")
// 创建按钮组
ButtonGroup group = new ButtonGroup()
group.add(rdoMan)
group.add(rdoWoman)
// 设置默认选择
rdoMan.setSelected(true)
2、下拉框组件
在Swing中使用JComboBox类创建下拉框对象。
addItem(E item)方法:用于添加下拉框选项。
getSelectedItem()方法:用于获取被选中的下拉框选项。
示例:创建下拉框,并添加下拉框选项。
// 创建下拉框
JComboBox comboBox = new JComboBox()
// 绑定下拉框选项
String[] strArray = { "学生", "军人", "工人" }
for (String item : strArray)
{
comboBox.addItem(item)
}
3、复选框
在Swing中使用JCheckBox类创建复选框对象。
isSelected()方法:判断复选框是否被选中。
示例:创建复选框。
JCheckBox ckbA = new JCheckBox("足球")
JCheckBox ckbB = new JCheckBox("篮球")
JCheckBox ckbC = new JCheckBox("羽毛球")
4、综合示例
示例:单选钮、下拉框、复选框的使用,如下图:
完整代码:
import java.awt.EventQueue
import java.awt.Font
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.ButtonGroup
import javax.swing.JButton
import javax.swing.JCheckBox
import javax.swing.JComboBox
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JOptionPane
import javax.swing.JRadioButton
/**
* Swing中单选钮、下拉框、复选框的使用
* @author pan_junbiao
*
*/
public class TestFrame
{
private JFrame frame
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable() {
public void run()
{
try
{
TestFrame window = new TestFrame()
window.frame.setVisible(true)
} catch (Exception e)
{
e.printStackTrace()
}
}
})
}
public TestFrame()
{
initialize()
}
private void initialize()
{
frame = new JFrame()
frame.setBounds(100, 100, 270, 192)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.getContentPane().setLayout(null)
frame.setLocationRelativeTo(null)// 窗体居中
JLabel label = new JLabel("类型:")
label.setFont(new Font("宋体", Font.PLAIN, 14))
label.setBounds(10, 24, 54, 15)
frame.getContentPane().add(label)
JLabel lblNewLabel = new JLabel("性别:")
lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14))
lblNewLabel.setBounds(10, 53, 44, 15)
frame.getContentPane().add(lblNewLabel)
JLabel label_1 = new JLabel("爱好:")
label_1.setFont(new Font("宋体", Font.PLAIN, 14))
label_1.setBounds(10, 78, 44, 15)
frame.getContentPane().add(label_1)
// 创建下拉框
JComboBox comboBox = new JComboBox()
// 绑定下拉框选项
String[] strArray = { "学生", "军人", "工人" }
for (String item : strArray)
{
comboBox.addItem(item)
}
comboBox.setFont(new Font("宋体", Font.PLAIN, 14))
comboBox.setBounds(53, 20, 140, 23)
frame.getContentPane().add(comboBox)
// 创建单选钮
JRadioButton rdoMan = new JRadioButton("男")
JRadioButton rdoWoman = new JRadioButton("女")
// 创建按钮组
ButtonGroup group = new ButtonGroup()
group.add(rdoMan)
group.add(rdoWoman)
// 设置默认选择
rdoMan.setSelected(true)
rdoMan.setFont(new Font("宋体", Font.PLAIN, 14))
rdoMan.setBounds(48, 49, 54, 23)
frame.getContentPane().add(rdoMan)
rdoWoman.setFont(new Font("宋体", Font.PLAIN, 14))
rdoWoman.setBounds(104, 49, 54, 23)
frame.getContentPane().add(rdoWoman)
JCheckBox ckbA = new JCheckBox("足球")
ckbA.setFont(new Font("宋体", Font.PLAIN, 14))
ckbA.setBounds(48, 74, 54, 23)
frame.getContentPane().add(ckbA)
JCheckBox ckbB = new JCheckBox("篮球")
ckbB.setFont(new Font("宋体", Font.PLAIN, 14))
ckbB.setBounds(104, 74, 54, 23)
frame.getContentPane().add(ckbB)
JCheckBox ckbC = new JCheckBox("羽毛球")
ckbC.setFont(new Font("宋体", Font.PLAIN, 14))
ckbC.setBounds(163, 74, 71, 23)
frame.getContentPane().add(ckbC)
JButton btnSubmit = new JButton("确定")
btnSubmit.setFont(new Font("宋体", Font.PLAIN, 14))
btnSubmit.setBounds(10, 115, 93, 23)
frame.getContentPane().add(btnSubmit)
JButton btnReset = new JButton("重置")
btnReset.setFont(new Font("宋体", Font.PLAIN, 14))
btnReset.setBounds(141, 115, 93, 23)
frame.getContentPane().add(btnReset)
// 重置按钮事件
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
String msg = ""
// 获取下拉框选择
String typeStr = comboBox.getSelectedItem().toString()
msg = "类型:" + typeStr
JOptionPane.showMessageDialog(null, msg, "提示", JOptionPane.INFORMATION_MESSAGE)
// 获取单选钮选项
String sexStr = rdoMan.isSelected() ? "男" : "女"
msg = "性别:" + sexStr
JOptionPane.showMessageDialog(null, msg, "提示", JOptionPane.INFORMATION_MESSAGE)
// 获取复选框选项
msg = "爱好:"
if (ckbA.isSelected())
{
msg += ckbA.getText() + ""
}
if (ckbB.isSelected())
{
msg += ckbB.getText() + ""
}
if (ckbC.isSelected())
{
msg += ckbC.getText() + ""
}
JOptionPane.showMessageDialog(null, msg, "提示", JOptionPane.INFORMATION_MESSAGE)
}
})
// 重置按钮事件
btnReset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
comboBox.setSelectedIndex(0)
rdoMan.setSelected(true)
ckbA.setSelected(false)
ckbB.setSelected(false)
ckbC.setSelected(false)
}
})
}
}
文章知识点与官方知识档案匹配
Java技能树首页概览
88264 人正在系统学习中
打开CSDN,阅读体验更佳
Swing-下拉框、列表框_Jchoi_Tang的博客_swing 下拉框
1、下拉框 选择地区,或者一些单个选项 package com.gui.lesson06import javafx.scene.control.ComboBoximport javax.swing.*import java.awt.*public class TestComboBoxDemo01 extends JFrame { public TestComboBoxDemo01(...
java swing 下拉复选框_Java Swing JCheckBox复选框的实现方法
文本框:<input type="text" id="t1"></input>按钮握颂渣:<input type="button" id="b1"></input>
<input>标签用于搜集用户信息。
根据不同的 type 属性值,输入字段拥有很多种段悄形式。输入字段可以是文本字段、复选框、掩码后的文本樱橘控件、单选按钮、按钮等等。
AlertDialog.Builder有现成的API可以实现显示复选框的内容。1.创建AlertDialog.Builder并设置数据源
AlertDialog.Builder
builder
=
new
Builder(context)
builder.setTitle("复选框")
//设置对话框标题
builder.setIcon(android.R.drawable.ic_menu_more)
//设置对话框标题前的图标
final
String[]
data
=
getResources().getStringArray(R.array.radio)
//通过resources
得到strings.xml中的字符串数组
boolean[]
state
=
new
boolean[data.length]
for(int
i=0
i<data.length
i++){
state[i]
=
sboolean.get(i)
//将状态集合中的数据取出来,下次选择时候会默认选中
}
2.注册点击事件,并记录复选的数据
/*
*
第一个参数是,数据原,可以是数组,也可以传strings.xml那的字符串ID,但是建议用数组,因为多选监听返回的是数组的标下
*
第二个参数是,默认的选中位置,是个boolean数组,对应item的位置
*
第三个是列表点击监听事件
*/
builder.setMultiChoiceItems(R.array.radio,
state,
new
DialogInterface.OnMultiChoiceClickListener()
{//注册单选择监听事件
@Override
public
void
onClick(DialogInterface
dialog,
int
which,
boolean
isChecked)
{
if(isChecked){
Toast.makeText(context,"你选择了:
"
+
data[which],
Toast.LENGTH_SHORT).show()
checkBoxData.add(data[which])
//选择的时候要保存起来神裤
}else{
Toast.makeText(context,"你取消了:
"
+
data[which],
Toast.LENGTH_SHORT).show()
checkBoxData.remove(data[which])
//取消选中的时候要删除掉
}
sboolean.put(which,
isChecked)
//每次选择都要记桐拍录下这个item的状态
}
})
3.增加确定和取消按键
builder.setPositiveButton("确认",
new
DialogInterface.OnClickListener()
{
@Override
public
void
onClick(DialogInterface
dialog,
int
which)
{
Toast.makeText(context,
"你点了确定,选择的是:
"
+
checkBoxData.toString(),
Toast.LENGTH_SHORT).show()
}
})
4.设置dialog的相关参数,并d出
builder.setNegativeButton("取消",
null)
//取消不做任何处理
builder.setCancelable(true)
//设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog
dialog
=
builder.create()
//创建对话框
dialog.setCanceledOnTouchOutside(true)
//设置d出框失去焦点是局瞎羡否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)