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的更多相关文章

  1. Java基础知识:Java实现Map集合二级联动1

    Java实现Map集合二级联动 Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省 ...

  2. JAVA基础知识|java虚拟机(JVM)

    一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开 ...

  3. Java基础知识:Java实现Map集合二级联动2

    2. 定义获取省份的方法,创建一个Map集合,将上一步得到的映射集合赋值给它,使用Map集合的keySet()方法获取该集合中的所有键对象组成的Set 集合,即为省分集合,创建一个Object型一维数 ...

  4. Java实现Map集合二级联动

    Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省市级联选择框,当选择省份信息时, ...

  5. Java基础知识总结之类的集合

    Java集合概述 1.集合类也叫作容器类.它的功能相当于一个容器.可以存储数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组). 2.Java的集合(容器),它是用来”装对象的“(实际上是 ...

  6. JAVA基础知识总结15(集合容器)

    集合框架:用于存储数据的容器. 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区别: 1: ...

  7. java基础知识——Java的定义,特点和技术平台

    (作者声明:对于Java编程语言,很多人只知道怎么用,却对其了解甚少.我也是其中一员.所以菜鸟的我,去查询了教科书以及大神的总结,主要参考了<Java核心技术>这本神作.现在分享给大家!) ...

  8. [java基础知识]java安装步骤

    jre:  java运行环境.  jre =  java虚拟机 + 核心类库(辅助java虚拟机运行的文件).如果只是运行java程序,只需要安装jre.    jdk: java开发工具集   jd ...

  9. Java基础知识:Java实现Map集合二级联动3

    * Returns an image stored in the file at the specified path * @param path String The path to the ima ...

随机推荐

  1. 算法的泛化过程(摘自《STL源码剖析》)

    将一个叙述完整的算法转化为程序代码,不是什么难事.然而,如何将算法独立与其所处理的数据结构之外,不受数据结构的羁绊呢?换个说法,如何将我们所写的程序算法适用于任何(或者大部分)未知的数据结构(比如ar ...

  2. 我的QT5学习之路(二)——第一个程序

    一.前言 “工欲善其事,必先利其器”,上一节,我介绍了Qt的安装和配置方法,搭建了基本的开发平台.这一节,来通过一个简单的例子来了解Qt的编程样式和规范,开始喽~~~ 二.第一个程序——Hello W ...

  3. .Net core 使用NPOI 直接导入Excel到数据库(即不先将Excel保存到服务器再读取文件到数据库)

    /// <summary> /// 导入信息 /// </summary> /// <param name="file"></param& ...

  4. Oracle ddl 和 dml 操作

      ddl 操作 窗口设置用户权限的方法  Oracle的数据类型  按住Ctrl点击表名 ,可以鼠标操作  插入的数据需要满足创建表的检查  主表clazz删除数据从表设置级联也会一同删除 有约束也 ...

  5. PHP连接mysql8.0出错“SQLSTATE[HY000] [2054] The server requested authentication method unknow.....

    这个错可能是mysql默认使用 caching_sha2_password作为默认的身份验证插件,而不再是 mysql_native_password,但是客户端暂时不支持这个插件导致的. 解决方法一 ...

  6. Linux常用到的一些命令

    1.poweroff 关闭系统(1) 2.halt 关闭系统(2) 3.reboot 重启系统 4.pwd 查看当前所在目录的绝对路径 5.mkdir 文件名 创建一个目录文件 6.rm 文件名 删除 ...

  7. 【Linux】进程管理

    进程是什么? 程序 保存在硬盘.光盘等介质中的可执行代码和数据 是静态保存的代码 进程 在CPU及内存中运行的动态执行的程序代码 进程是程序运行的实例 同一个程序可能对应多个进程     子进程和父进 ...

  8. PHP导入Excel表

    初始化参数,先导入PHPExcel类 /** * 读出Excel表格数据 * @param $filename 文件名 * @param string $encode 编码格式 * @return a ...

  9. 如何使用yii2的缓存依赖特性

    目录 如何使用yii2的缓存依赖特性 概述 页面缓存 缓存依赖 链式依赖 总结 如何使用yii2的缓存依赖特性 概述 缓存是Yii2的强大特性之一,合理使用缓存技术可以有效地减小服务器的访问压力.Yi ...

  10. 【非原创】Game23

    #include<stdio.h>int main(){ int n,m,x=0,flag=0; scanf("%d%d",&n,&m); x=m/n; ...