与省市级联的市县——根据省/直辖市显示对应的市县

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;

import javax.swing.JComboBox;

import javax.swing.JFrame;
import javax.swing.JLabel;
public class ShowCityInfoFrame extends JFrame{
	private Map<String,String> map=new LinkedHashMap<String,String>();
	private JComboBox cmb_shixian;
	private JComboBox cmb_sheng;
public ShowCityInfoFrame(){
	super();
	setTitle("显示与省市级联的县市");
	addWindowListener(new WindowAdapter(){
		public void windowOpened(final WindowEvent arg0){
			 map.put("北京", "北京");// 添加
             map.put("上海", "上海");
             map.put("天津", "天津");
             map.put("重庆", "重庆");
             map.put("黑龙江",
                     "哈尔滨,齐齐哈尔,牡丹江,大庆,伊春,双鸭山,鹤岗,鸡西,佳木斯,七台河,黑河,绥化,大兴安岭");
             map.put("吉林", "长春,延边,吉林,白山,白城,四平,松原,辽源,大安,通化");
             map.put("辽宁", "沈阳,大连,葫芦岛,旅顺,本溪,抚顺,铁岭,辽阳,营口,阜新,朝阳,锦州,丹东,鞍山");
             map.put("内蒙古", "呼和浩特,呼伦贝尔,锡林浩特,包头,赤峰,海拉尔,乌海,鄂尔多斯,通辽");
             map.put("河北", "石家庄,唐山,张家口,廊坊,邢台,邯郸,沧州,衡水,承德,保定,秦皇岛");
             map
                     .put("河南",
                             "郑州,开封,洛阳,平顶山,焦作,鹤壁,新乡,安阳,濮阳,许昌,漯河,三门峡,南阳,商丘,信阳,周口,驻马店");
             map
                     .put("山东",
                             "济南,青岛,淄博,威海,曲阜,临沂,烟台,枣庄,聊城,济宁,菏泽,泰安,日照,东营,德州,滨州,莱芜,潍坊");
             map.put("山西", "太原,阳泉,晋城,晋中,临汾,运城,长治,朔州,忻州,大同,吕梁");
             map
                     .put("江苏",
                             "南京,苏州,昆山,南通,太仓,吴县,徐州,宜兴,镇江,淮安,常熟,盐城,泰州,无锡,连云港,扬州,常州,宿迁");
             map.put("安徽",
                     "合肥,巢湖,蚌埠,安庆,六安,滁州,马鞍山,阜阳,宣城,铜陵,淮北,芜湖,毫州,宿州,淮南,池州");
             map.put("陕西", "西安,韩城,安康,汉中,宝鸡,咸阳,榆林,渭南,商洛,铜川,延安");
             map.put("宁夏", "银川,固原,中卫,石嘴山,吴忠");
             map.put("甘肃", "兰州,白银,庆阳,酒泉,天水,武威,张掖,甘南,临夏,平凉,定西,金昌");
             map.put("青海", "西宁,海北,海西,黄南,果洛,玉树,海东,海南");
             map.put("湖北", "武汉,宜昌,黄冈,恩施,荆州,神农架,十堰,咸宁,襄樊,孝感,随州,黄石,荆门,鄂州");
             map.put("湖南", "长沙,邵阳,常德,郴州,吉首,株洲,娄底,湘潭,益阳,永州,岳阳,衡阳,怀化,韶山,张家界");
             map.put("浙江", "杭州,湖州,金华,宁波,丽水,绍兴,雁荡山,衢州,嘉兴,台州,舟山,温州");
             map.put("江西", "南昌,萍乡,九江,上饶,抚州,吉安,鹰潭,宜春,新余,景德镇,赣州");
             map.put("福建", "福州,厦门,龙岩,南平,宁德,莆田,泉州,三明,漳州");
             map.put("贵州", "贵阳,安顺,赤水,遵义,铜仁,六盘水,毕节,凯里,都匀");
             map
                     .put("四川",
                             "成都,泸州,内江,凉山,阿坝,巴中,广元,乐山,绵阳,德阳,攀枝花,雅安,宜宾,自贡,甘孜州,达州资阳,广安,遂宁,眉山,南充");
             map
                     .put("广东",
                             "广州,深圳,潮州,韶关,湛江,惠州,清远,东莞,江门,茂名,肇庆,汕尾,河源,揭阳,梅州,中山,德庆,阳江,云浮,珠海,汕头,佛山");
             map.put("广西",
                     "南宁,桂林,阳朔,柳州,梧州,玉林,桂平,贺州,钦州,贵港,防城港,百色,北海,河池,来宾,崇左");
             map.put("云南", "昆明,保山,楚雄,德宏,红河,临沧,怒江,曲靖,思茅,文山,玉溪,昭通,丽江,大理");
             map.put("海南", "海口,三亚,儋州,琼山,通什,文昌");
             map
                     .put("新疆",
                             "乌鲁木齐,阿勒泰,阿克苏,昌吉,哈密,和田,喀什,克拉玛依,石河子,塔城,库尔勒,吐鲁番,伊宁");
             Iterator<String> iter=map.keySet().iterator();
             while(iter.hasNext()){
            	 String key=iter.next();
            	 cmb_sheng.addItem(key);
             }
		}
	});
	getContentPane().setLayout(null);
	setBounds(100,100,420,244);
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	final JLabel label=new JLabel();
	label.setText("省或直辖市");
	label.setBounds(25, 26, 80, 18);
	getContentPane().add(label);
	
	final JLabel label_1 = new JLabel();
    label_1.setText("对应的市县:");
    label_1.setBounds(25, 68, 80, 18);
    getContentPane().add(label_1);
    
    cmb_sheng=new JComboBox();
	cmb_sheng.addItemListener(new ItemListener(){
		public void itemStateChanged(final ItemEvent arg0){
			cmb_shixian.removeAllItems();
			String sheng=(String)cmb_sheng.getSelectedItem();
			String allShiXian=map.get(sheng);
			String shiXians[]=allShiXian.split(",");
			for(String shixian:shiXians){
				cmb_shixian.addItem(shixian);
			}
		}
	});
    cmb_sheng.setBounds(111, 22, 271, 27);
    getContentPane().add(cmb_sheng);
    
    cmb_shixian = new JComboBox();
    cmb_shixian.setBounds(111, 64, 271, 27);
    getContentPane().add(cmb_shixian);
}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		EventQueue.invokeLater(new Runnable(){
			public void run(){
				try{
					ShowCityInfoFrame frame=new ShowCityInfoFrame();
					frame.setVisible(true);
				}catch(Exception e){
					e.printStackTrace();
				}
			}
		});

	}
	
}

与省市级联的市县——根据省/直辖市显示对应的市县

你可能感兴趣的:(与省市级联的市县——根据省/直辖市显示对应的市县)