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源码剖析》要点摘抄

    1. STL的空间配置器 SGI STL设计了双层级配置器,第一级配置器直接使用malloc().free(),第二级配置器则视情况采用不同的策略:当配置区块超过128bytes时,视为“足够大”,便 ...

  2. js如何将一个json数组对应放置到另一数组中去

    需要将上面这个数组的每一个元素对应添加至下面的数组中 最后合成为这样的数组: 使用for循环,将第一个数组中的元素循环到第二个数组中

  3. docker_Dockerfile_docker hub简单使用搭建nginx

    Docker for Windows是Docker for Microsoft Windows 的Community Edition(CE).要下载Docker for Windows,请前往Dock ...

  4. jQuery实现全选、全不选以及反选操作

    在写购物车案例时实现全选操作使用的是js的getAttribute()setAttribute()方法获取checked属性的值是undefined实现完成之后全选操作,如果在全选中的情况下改变其中一 ...

  5. swiper在vue中正确的使用方法

    1.安装swiper,执行npm install vue-awesome-swiper --save命令 2.在main.js中添加下面三行 import 'swiper/dist/css/swipe ...

  6. 微信小程序实现转义换行符

    在html中可以直接使用<br />换行,但是小程序wxml中使用<br />无效,可以换成\n Page({ data: { title: '至少5个字\n请多说些感受吧' ...

  7. Homebrew(brew)安装MySQL成功后无法登录

    Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载各种软件,(简直就是神器级武器). 废话不多说,没安装brew自己去百度学习安装,这里就不多说了. ...

  8. Delphi 的TStringBuilder防止服务器内存碎片化

    Delphi 2009+ 的 System.SysUtils提供了一个类似.Net的StringBuilder,用于存储字符数组. 很多人不明白为什么要用TStringBuilder, Delphi中 ...

  9. React with webpack

    //entry.js require("!style!css!./style.css"); require("./hello.jsx"); // documen ...

  10. 20155212 实验一《Java开发环境的熟悉》实验报告

    20155212 实验一<Java开发环境的熟悉>实验报告 命令行下Java程序开发 命令创建实验目录 输入mkdir 2051212创建以自己学号命名的文件夹,通过cd 20155212 ...