Java基础知识:Java实现Map集合二级联动4
comboBox.setModel(new DefaultComboBoxModel(getProvince())); // 添加省份信息
final JLabel label = new JLabel();
label.setText("省/直辖市");
label.setBounds(155, 30, 66, 18);
panel.add(label);
final JLabel label_1 = new JLabel();
label_1.setText("市/县");
label_1.setBounds(375, 30, 37, 18);
panel.add(label_1);
final JLabel label_2 = new JLabel();
label_2.setBounds(36, 43, 65, 18);
backgroundPanel.add(label_2);
label_2.setHorizontalAlignment(SwingConstants.RIGHT);
label_2.setHorizontalTextPosition(SwingConstants.LEADING);
label_2.setText("姓 名:");
textField = new JTextField();
textField.setBounds(113, 38, 154, 28);
backgroundPanel.add(textField);
final JLabel label_3 = new JLabel();
label_3.setBounds(36, 84, 65, 18);
backgroundPanel.add(label_3);
label_3.setHorizontalAlignment(SwingConstants.RIGHT);
label_3.setHorizontalTextPosition(SwingConstants.LEADING);
label_3.setText("性 别:");
comboBox_1 = new JComboBox();
comboBox_1.setBounds(113, 81, 66, 25);
backgroundPanel.add(comboBox_1);
comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"男", "女"}));
final JLabel label_4 = new JLabel();
label_4.setBounds(36, 212, 65, 18);
backgroundPanel.add(label_4);
label_4.setHorizontalAlignment(SwingConstants.RIGHT);
label_4.setHorizontalTextPosition(SwingConstants.LEADING);
label_4.setText("详细地址:");
textField_1 = new JTextField();
textField_1.setBounds(113, 208, 367, 28);
backgroundPanel.add(textField_1);
final JLabel label_4_1 = new JLabel();
label_4_1.setBounds(36, 252, 65, 18);
backgroundPanel.add(label_4_1);
label_4_1.setHorizontalTextPosition(SwingConstants.LEADING);
label_4_1.setHorizontalAlignment(SwingConstants.RIGHT);
label_4_1.setText("E-mail:");
textField_3 = new JTextField();
textField_3.setBounds(113, 248, 367, 27);
backgroundPanel.add(textField_3);
final JButton button = new JButton();
button.setBounds(159, 289, 75, 28);
backgroundPanel.add(button);
button.setText("保存");
final JButton button_1 = new JButton();
button_1.setBounds(265, 289, 75, 28);
backgroundPanel.add(button_1);
button_1.setText("重置");
//
}
/**
* 获取省、直辖市,自治区
*
* @return
*/
public Object[] getProvince() {
Map map = CityMap.model;// 获取省份信息保存到Map中
Set set = map.keySet(); // 获取Map集合中的键,并以Set集合返回
Object[] province = set.toArray(); // 转换为数组
return province; // 返回获取的省份信息
}
/**
* 获取指定省对应的市/县
*
* @param selectProvince
* @return
*/
public String[] getCity(String selectProvince) {
Map map = CityMap.model; // 获取省份信息保存到Map中
String[] arrCity = map.get(selectProvince); // 获取指定键的值
return arrCity; // 返回获取的市/县
}
private void itemChange() {
String selectProvince = (String) comboBox.getSelectedItem();
cityComboBox.removeAllItems(); // 清空市/县列表
String[] arrCity = getCity(selectProvince); // 获取市/县
cityComboBox.setModel(new DefaultComboBoxModel(arrCity)); // 重新添加市/县列表的值
}
}
效果如图:

Java基础知识:Java实现Map集合二级联动4的更多相关文章
- Java基础知识:Java实现Map集合二级联动1
Java实现Map集合二级联动 Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省 ...
- JAVA基础知识|java虚拟机(JVM)
一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开 ...
- Java基础知识:Java实现Map集合二级联动2
2. 定义获取省份的方法,创建一个Map集合,将上一步得到的映射集合赋值给它,使用Map集合的keySet()方法获取该集合中的所有键对象组成的Set 集合,即为省分集合,创建一个Object型一维数 ...
- Java实现Map集合二级联动
Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省市级联选择框,当选择省份信息时, ...
- Java基础知识总结之类的集合
Java集合概述 1.集合类也叫作容器类.它的功能相当于一个容器.可以存储数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组). 2.Java的集合(容器),它是用来”装对象的“(实际上是 ...
- JAVA基础知识总结15(集合容器)
集合框架:用于存储数据的容器. 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区别: 1: ...
- java基础知识——Java的定义,特点和技术平台
(作者声明:对于Java编程语言,很多人只知道怎么用,却对其了解甚少.我也是其中一员.所以菜鸟的我,去查询了教科书以及大神的总结,主要参考了<Java核心技术>这本神作.现在分享给大家!) ...
- [java基础知识]java安装步骤
jre: java运行环境. jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件).如果只是运行java程序,只需要安装jre. jdk: java开发工具集 jd ...
- Java基础知识:Java实现Map集合二级联动3
* Returns an image stored in the file at the specified path * @param path String The path to the ima ...
随机推荐
- UVA - 11987 Almost Union-Find(带删除的并查集)
I hope you know the beautiful Union-Find structure. In this problem, you’re to implement something s ...
- flink Window的Timestamps/Watermarks和allowedLateness的区别
Watermartks是通过additional的时间戳来控制窗口激活的时间,allowedLateness来控制窗口的销毁时间. 注: 因为此特性包括官方文档在1.3-1.5版本均未做改变,所以 ...
- Spring异步-@Async注解
Spring异步:@Async注解 使用@Async前需要开启异步支持:@EnableAsync 注解和XML方式 @Async返回值的调用:需要使用Future包装 1.如果没有使用Future包装 ...
- DDL-表的管理
一.创建表 ★create table [if not exists] 表名( 字段名 字段类型 [约束], 字段名 字段类型 [约束], ... 字段名 字段类型 [约束] ...
- RunLoop 之初探
你好2019!一起努力呀! 1.什么是runloop runloop是通过内部维护的事件循环对事件/消息进行管理的一个对象. 事件循环(Event loop):通俗的解释:没有消息处理的时候,休眠以避 ...
- Python 基础 类的继承
如果寂静定义了Person类,需要定义新的Student 和Teacher 类时 可以直接从Person 中继承 class Person(Object): def __init__(self,nam ...
- C++笔记020:const 和 #define 的对比
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一,const与#define的相同点 C++中的const常量类似于宏定义 const int c = 5 ≍ #defi ...
- [已解决] 设置无效字段为-1 时,引发的 DataGridView DataError
由于问题一句话说不清.所以标题里也没写明白.大概情况是这样.我一直使用dotNetBar控件来做UI,其中的DataGridView很常用.过去一直有发现DataError的错误,通过截取消息暂时屏蔽 ...
- 快速提高谷歌浏览器(Chrome)自带下载器的网速
之前每次下载东西都是复制好下载链接到迅雷中下载,会提高成倍网速,但是时间一长,感觉不方便,废话不多说,上干货~ 由于中国防火墙(GFW)的强大,在线下载Google浏览器的时候速度非常慢,如果只是单独 ...
- 记遇到的一个php坑
最近对项目的一个高访问量业务接口进行功能扩展,上线一段时间后,服务器cpu load突然飙升,并出现大量502.一开始找运维查看日志,并没有看是什么问题,后来发现别的部门项目之前也遇到类似的问题,原来 ...