Java(八)GUI:4.JComboBox下拉选项框组件


一、创建

// 选项的内容
String[] tpyes = {"顾客","送餐员","餐厅员工","菜单管理员"};
JComboBox box_type = new JComboBox(tpyes);

默认选中并显示第一个
在这里插入图片描述
点开后
在这里插入图片描述

二、得到选中后的状态

1.结论

// 选项的内容
String[] tpyes = {"顾客","送餐员","餐厅员工","菜单管理员"};
JComboBox box_type = new JComboBox(tpyes);
// 得到选中后的状态,必须初始化为第一个默认状态。
String submission_type = "顾客";
// 重写接口
box_type.addItemListener(new ItemListener() {
	@Override
	public void itemStateChanged(ItemEvent e) {
		// 当选中项该变时
		submission_type = e.getItem().toString();
	}
});

注意:这个方法itemStateChanged只在选中其他项时生效,哪怕进去选中第一个项,这还是没有发生改变。只有选中了其他项才会进入这个方法(你先选中其他项,再选第一个项,这样是改变了两次)。

2.错例

(1)不重写接口

String[] tpyes = {"顾客","送餐员","餐厅员工","菜单管理员"};
JComboBox box_type = new JComboBox(tpyes);
String submission_type = box_type.getSelectedItem().toString();

不能直接这样,这是静态的,当你选中了其他的选项后,得到的submission_type还是默认选中的第一个。

(2)写接口忽略第一个

// 选项的内容
String[] tpyes = {"顾客","送餐员","餐厅员工","菜单管理员"};
JComboBox box_type = new JComboBox(tpyes);
// 得到选中后的状态,必须初始化为第一个默认状态。
String submission_type;
// 重写接口
box_type.addItemListener(new ItemListener() {
	@Override
	public void itemStateChanged(ItemEvent e) {
		// 当选中项改变时才会生效
		submission_type = e.getItem().toString();
	}
});

如果不更改默认项时,submission_type就是null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值