يمكن أن تنقذ مجموعات MAP علاقات رسم الخرائط الرئيسية ، والتي هي مناسبة للغاية لهياكل البيانات المطلوبة في هذا المثال. باستخدام مجموعات MAP.
تحليل الأفكار:
1. إنشاء مجموعة رسم الخرائط الوطنية (المقاطعة ، البلدية ، المنطقة المستقلة) ، أي كائن LinkedHashMap. القيمة هي صفيف أحادي البعد من النوع.
الرمز كما يلي:
CityMap.Java
نسخة الكود كما يلي:
استيراد java.util.linkedhashmap ؛
استيراد java.util.map ؛
CityMap من الدرجة العامة {
/**
* مجموعة رسم الخرائط الوطنية (المقاطعة ، البلدية ، المنطقة المستقلة)
*/
الخريطة الثابتة العامة <string ، string []> model = new LinkedHashMap <string ، string []> () ؛
ثابت {
model.put ("beijing" ، سلسلة جديدة [] {"beijing"}) ؛
Model.put ("Shanghai" ، سلسلة جديدة [] {"Shanghai"}) ؛
model.put ("tianjin" ، سلسلة جديدة [] {"tianjin"}) ؛
Model.put ("chongqing" ، سلسلة جديدة [] {"chongqing"}) ؛
Model.put ("Heilongjiang" ، سلسلة جديدة [] {"Harbin" ، "Qiqihar" ، "Mudanjiang" ، "Daqing" ، "Yichun" ، "Shuangyashan" ، "Hegang" ، "Jixi" ، "Jiamusi" ، "،" ، " Qitaihe "،" Heihe "،" Suihua "،" Daxinganling "}) ؛
Model.put ("Jilin" ، New String [] {"Changchun" ، "Yanbian" ، "Jilin" ، "Baishan" ، "Baicheng" ، "Siping" ، "Songyuan" ، "Liaoyuan" ، "Da'an" ، "tonghua"}) ؛
Model.put ("Liaoning" ، سلسلة جديدة [] {"Shenyang" ، "Dalian" ، "Huludao" ، "Lushun" ، "Benxi" ، "Fushun" ، "Tieling" ، "Liaoyang" ، "Yingkou" ، "" Fuxin "،" Chaoyang "،" Jinzhou "،" Dandong "،" Anshan "}) ؛
Model.put ("Inner Mongolia" ، سلسلة جديدة [] {"Hohhot" ، "Hulunbuir" ، "Xilinhot" ، "Baotou" ، "Chipong" ، "Hailar" ، "Wuhai" ، "Ordos" ، "Tongliao"} ) ؛
نموذج. Baoding "،" Qinhuangdao "}) ؛
Model.put ("Henan" ، New String [] {"Zhengzhou" ، "Kaifeng" ، "Luoyang" ، "Pingdingshan" ، "Jiaozuo" ، "Hebi" ، "Xinxiang" ، "Anyang" ، "Puyang" ، "،" " Xuchang "،" Luohe "،" Sanmenxia "،" Nanyang "،" Shangqiu "،" Xinyang "،" Zhoukou "،" Zhumadian "}) ؛
Model.put ("Shandong" ، سلسلة جديدة [] {"Jinan" ، "Qingdao" ، "Zibo" ، "Weihai" ، "Qufu" ، "Linyi" ، "Yantai" ، "Zaozhuang" ، "Liaocheng" ، "،" Jining "،" Heze "،" Tai'an "،" Rizhao "،" Dongying "،" Dezhou "،" Binzhou "،" Laiwu "،" Weifang "}) ؛
Model.put ("Shanxi" ، سلسلة جديدة [] {"Taiyuan" ، "Yangquan" ، "Jincheng" ، "Jinzhong" ، "Linfen" ، "Yuncheng" ، "Changzhi" ، "Shuozhou" ، "Xinzhou" ، "،" Datong "،" Luliang "}) ؛
Model.put ("Jiangsu" ، سلسلة جديدة [] {"Nanjing" ، "Suzhou" ، "Kunshan" ، "Nantong" ، "Taicang" ، "Wuxian" ، "Xuzhou" ، "Yixing" ، "Zhenjiang" ، "،" Huaian "،" Changshu "،" Yancheng "،" Taizhou "،" Wuxi "،" Lianyungang "،" Yangzhou "،" Changzhou "،" Suqian "}) ؛
Model.put ("anhui" ، سلسلة جديدة [] {"Hefei" ، "Chaohu" ، "Bengbu" ، "Anqing" ، "Lu'an" ، "Chuzhou" ، "Ma'anshan" ، "Fuyang" ، "،" Xuancheng "،" Tongling "،" Huaibei "،" Wuhu "،" Haochou "،" Suzhou "،" Huainan "،" Chizhou "}) ؛
Model.put ("Shaanxi" ، سلسلة جديدة [] {"Xi'an" ، "Hancheng" ، "Ankang" ، "Hanzhong" ، "Baoji" ، "Xianyang" ، "Yulin" ، "Weinan" ، "Shangluo" ، "Tongchuan" ، "Yan'an"}) ؛
model.put ("ningxia" ، سلسلة جديدة [] {"Yinchuan" ، "Guyuan" ، "Zhongwei" ، "Shizuishan" ، "Wuzhong"}) ؛
Model.put ("Gansu" ، سلسلة جديدة [] {"Lanzhou" ، "Baiyin" ، "Qingyang" ، "Jiuquan" ، "Tianshui" ، "Wuwei" ، "Zhangye" ، Gannan "،" Linxia "،" ، " Pingliang "،" Dingxi "،" Jinchang "}) ؛
Model.put ("Qinghai" ، سلسلة جديدة [] {"Xining" ، "Haibei" ، "Haixi" ، "Huangnan" ، "Goluo" ، "Yushu" ، "Haidong" ، "Hainan"}) ؛
Model.put ("Hubei" ، سلسلة جديدة [] {"Wuhan" ، "Yichang" ، "Huanggang" ، "Enshi" ، "Jingzhou" ، "Shennongjia" ، "Shiyan" ، "Xianning" ، "Xiangfan" ، "،" Xiaogan "،" Suizhou "،" Huangshi "،" Jingmen "،" Ezhou "}) ؛
Model.put ("Hunan" ، New String [] {"Changsha" ، "Shaoyang" ، "Changde" ، "Chenzhou" ، "Jishou" ، "Zhuzhou" ، "Loudi" ، "Xiangtan" ، "Yyang" ، "" Yongzhou "،" Yueyang "،" Hengyang "،" Huaihua "،" Shaoshan "،" Zhangjiajie "}) ؛
Model.put ("Zhejiang" ، سلسلة جديدة [] {"Hangzhou" ، "Huzhou" ، "Jinhua" ، "Ningbo" ، "Lishui" ، "Shaoxing" ، "Yandangshan" ، "Quzhou" ، "Jiaxing" ، "،" ، "،" Taizhou "،" Zhoshan "،" Wenzhou "}) ؛
Model.put ("Jiangxi" ، سلسلة جديدة [] {"Nanchang" ، "Pingxiang" ، "Jiujiang" ، "Shangrao" ، "Fuzhou" ، "Ji'an" ، "Yingtan" ، "Yichun" ، "Xinyu" ، "Jingdezhen" ، "Ganzhou"}) ؛
Model.put ("Fujian" ، سلسلة جديدة [] {"Fuzhou" ، "Xiamen" ، "Longyan" ، "Nanping" ، "Ningde" ، "Putian" ، "Quanzhou" ، "Sanming" ، "Zhangzhou"}) ؛
Model.put ("Guizhou" ، New String [] {"Guiyang" ، "Anshun" ، "Chishui" ، "Zunyi" ، "Tongren" ، "Liupanshui" ، "Bijie" ، "Kaili" ، "Duyun"}) ؛
Model.put ("Sichuan" ، سلسلة جديدة [] {"Chengdu" ، "Luzhou" ، "Neijiang" ، "Liangshan" ، "Aba" ، "Bazhong" ، "Guangyuan" ، Leshan "،" Mianyang "،" ، " Deyang "،" Panzhihua "،" Ya'an "،" Yibin "،" Zigong "،" Ganzizhou "،" Dazhou "،" Ziyang "،" Guang'an "، }) ؛
Model.put ("Guangdong" ، سلسلة جديدة [] {"Guangzhou" ، "Shenzhen" ، "Chaozhou" ، "Shaoguan" ، "Zhanjiang" ، "Huizhou" ، "Qingyuan" ، "Dongguan" ، "Jiangmmen" ، "" ، " MAOMING "،" Zhaoqing "،" Shanwei "،" Heyuan "،" Jieyang "،" Meizhou "،" Zhongshan "،" Deqing "،" Yangjiang "،" Yunfu "،" Zhuhai "،" Shantou "،" Foshan " }) ؛
Model.put ("Guangxi" ، سلسلة جديدة [] {"nanning" ، "Gullin" ، "Yangshuo" ، "Liuzhou" ، "Wuzhou" ، "Yulin" ، "Guiling" ، "Hezhou" ، "Qinzhou" ، " Guigang "،" Fangchenggang "،" Baise "،" Beihai "،" Hechi "،" Laibin "،" Chongzuo "}) ؛
Model.put ("Yunnan" ، New String [] {"Kunming" ، "Baoshan" ، "Chuxiong" ، "Dehong" ، "Honghe" ، "Lincang" ، "Nujiang" ، "Qujing" ، "Simao" ، "" Wenshan "،" Yuxi "،" Zhaotong "،" Lijiang "،" Dali "}) ؛
Model.put ("Hainan" ، New String [] {"Haikou" ، "Sanya" ، "Danzhou" ، "Qiongshan" ، "Tongshi" ، "Wenchang"}) ؛
Model.put ("Xinjiang" ، سلسلة جديدة [] {"urumqi" ، "altay" ، "Aksu" ، "Changji" ، "Hami" ، "Hotan" ، "Kashgar" ، "Karamay" ، "Shihezi" ، "،" Tacheng "،" Korla "،" Turpan "،" Yining "}) ؛
}
}
2. حدد طريقة الحصول على المقاطعة ، وإنشاء مجموعة خريطة ، وتعيين مجموعة الخريطة التي تم الحصول عليها في الخطوة السابقة لها ، واستخدم طريقة المفاتيح () لمجموعة الخريطة للحصول على مجموعة مجموعة مكونة من جميع الكائنات الرئيسية في مجموعة ، أي مجموعة المقاطعة ، قم بإنشاء صفيف أحادي البعد من نوع الكائن ، واستخدم طريقة TOARRAY () لواجهة SET لتحويل مجموعة SET إلى صفيف ، وإرجاع هذه الصفيف كمعلمة لاستلام المقاطعة -قائمة.
3. استخدم طريقة setModel () لفئة JCombobox لإضافة معلومات المقاطعة إلى القائمة المنسدلة للمقاطعة ، والمعلمات هي طريقة الحصول على المقاطعات في الخطوة السابقة.
4. تحديد طريقة الحصول على المدن/المقاطعات وفقًا للمقاطعة ، وإنشاء مجموعة خريطة ، وتعيين مجموعة الخريطة التي تم الحصول عليها في الخطوة 1 ، واستخدم طريقة GET () لمجموعة الخريطة للحصول على قيمة المفتاح المحدد ، أي مجموعة المدينة/المقاطعة.
5. تحديد حالة خيار القائمة المنسدلة في هذا الحدث طريقة الإزالة () طريقة فئة JCOMBOBOX لمسحها. قائمة.
الرمز كما يلي:
BackgroundPanel.java
نسخة الكود كما يلي:
استيراد java.awt.graphics ؛
استيراد java.awt.image ؛
استيراد javax.swing.jpanel ؛
/**
* مجموعة لوحة مع الخلفية
*
* Author Zhongwei Lee
*/
يمتد Background Pracketpanel JPanel {
/**
*
*/
استاتيكي خاص نهائي الطويل المسلسل = 7758689434195492602L ؛
/**
* صورة الخلفية
*/
صورة الصورة الخاصة ؛
/**
* طريقة بناء
*/
الخلفية العامة Panel () {
ممتاز()؛
setopaque (خطأ) ؛
setLayout (NULL) ؛
}
/**
* كيفية ضبط الصور
*/
public void setImage (صورة الصورة) {
this.image = صورة ؛
}
@تجاوز
PaintComponce المحمي (الرسومات G) {// أعد كتابة مظهر مكون الرسم
إذا (الصورة! = فارغة) {
عرض int = getWidth () ؛ // الحصول على حجم المكون
ارتفاع int = getheight () ؛
G.DrawImage (صورة ، 0 ، 0 ، العرض ، الارتفاع ، هذا) ؛ // رسم الصورة هو نفسه حجم المكون
}
Super.PaintComponent (G) ؛ // تنفيذ طريقة الفئة الفائقة
}
}
SwingResourCemanager.java
نسخة الكود كما يلي:
استيراد java.awt.image ؛
استيراد java.awt.toolkit ؛
استيراد java.io.bufferedInputStream ؛
استيراد java.io.bytearrayoutputstream ؛
استيراد java.io.fileInputStream ؛
استيراد java.io.ioException ؛
استيراد java.io.inputstream ؛
استيراد java.util.hashmap ؛
استيراد java.util.iterator ؛
استيراد javax.swing.imageicon ؛
/**
* فئة الأداة المساعدة لإدارة الموارد مثل الألوان والخطوط والصور ، إلخ.
*
* قد يتم توزيع هذه الفئة بحرية كجزء من أي تطبيق أو مكون إضافي.
* <p>
* حقوق الطبع والنشر (C) 2003 - 2004 ، Instantiations ، Inc. <br> جميع الحقوق محفوظة
*
* Author Scheglov_ke
*/
الطبقة العامة SwingResourCemanager {
/**
* يخطط لأسماء الصور إلى الصور
*/
HashMap الثابت الخاص <string ، image> m_classimagemap = new hashmap <string ، image> () ؛
/**
* إرجاع صورة مشفرة بواسطة دفق الإدخال المحدد
* param هو inputStream دفق الإدخال الذي يشفر بيانات الصورة
* @صورة العودة الصورة المشفرة بواسطة دفق الإدخال المحدد
*/
الصورة الثابتة الخاصة getImage (inputStream is) {
يحاول {
bytearrayoutputstream baoS = جديد bytearrayoutputStream () ؛
بايت بوف [] = بايت جديد [1024 * 4] ؛
بينما (صحيح) {
int n = is.read (buf) ؛
إذا (n == -1)
استراحة؛
Baos.Write (buf ، 0 ، n) ؛
}
Baos.Close () ؛
إرجاع Toolkit.getDefaultToolkit (). createImage (Baos.TobyTearRay ()) ؛
} catch (رمي e) {
العودة لاغية.
}
}
/**
* إرجاع صورة مخزنة في الملف في المسار المحدد بالنسبة للفئة المحددة
* param clazz فئة الفصل نسبة إلى العثور على الصورة
* param path سلسلة المسار إلى ملف الصورة
* @الصورة الصورة الصورة المخزنة في الملف على المسار المحدد
*/
الصورة الثابتة العامة getImage (الفئة <؟> clazz ، مسار السلسلة) {
string key = clazz.getName () + '|' + path ؛
صورة الصورة = m_classimagemap.get (مفتاح) ؛
إذا (الصورة == فارغ) {
if ((path.length ()> 0) && (path.charat (0) == '/')) {
String NewPath = path.substring (1 ، path.length ()) ؛
Image = getImage (جديد bufferedInputStream (clazz.getClassloader (). getResourCeasStream (newPath))) ؛
} آخر {
Image = getImage (clazz.getResourCeasStream (path)) ؛
}
m_classimagemap.put (المفتاح ، الصورة) ؛
}
إرجاع الصورة ؛
}
/**
* إرجاع صورة مخزنة في الملف على المسار المحدد
* param path سلسلة المسار إلى ملف الصورة
* @الصورة الصورة الصورة المخزنة في الملف على المسار المحدد
*/
صورة ثابتة عامة getImage (مسار السلسلة) {
إرجاع getImage ("الافتراضي" ، المسار) ؛
}
/**
* إرجاع صورة مخزنة في الملف على المسار المحدد
* @Param Section String قسم التخزين في ذاكرة التخزين المؤقت
* param path سلسلة المسار إلى ملف الصورة
* @الصورة الصورة الصورة المخزنة في الملف على المسار المحدد
*/
صورة ثابتة عامة getImage (قسم السلسلة ، مسار السلسلة) {
مفتاح السلسلة =
صورة الصورة = m_classimagemap.get (مفتاح) ؛
إذا (الصورة == فارغ) {
يحاول {
FileInputStream FIS = جديد fileInputStream (path) ؛
Image = getImage (FIS) ؛
m_classimagemap.put (المفتاح ، الصورة) ؛
fis.close () ؛
} catch (ioException e) {
العودة لاغية.
}
}
إرجاع الصورة ؛
}
/**
* صور مخزنة مؤقتًا في قسم محدد
* قسم param القسم غير واضح
*/
الفراغ الثابت العام clearimages (قسم السلسلة) {
لـ (iterator <string> i = m_classimagemap.keyset (). iterator () ؛ i.hasnext () ؛) {
مفتاح السلسلة = i.next () ؛
if (! key.startswith (القسم + '|'))
يكمل؛
صورة الصورة = m_classimagemap.get (مفتاح) ؛
Image.flush () ؛
I.Remove () ؛
}
}
/**
* إرجاع أيقونة مخزنة في الملف في المسار المحدد بالنسبة للفئة المحددة
* param clazz فئة الفصل نسبة إلى العثور على الرمز
* param path سلسلة المسار إلى ملف الأيقونة
* @أيقونة العودة الأيقونة المخزنة في الملف على المسار المحدد
*/
geticon static static static (فئة <؟> clazz ، مسار السلسلة) {
إرجاع geticon (getImage (clazz ، path)) ؛
}
/**
* إرجاع أيقونة مخزنة في الملف على المسار المحدد
* param path سلسلة المسار إلى ملف الأيقونة
* @أيقونة العودة الأيقونة المخزنة في الملف على المسار المحدد
*/
public static imageicon geticon (مسار السلسلة) {
إرجاع geticon ("الافتراضي" ، المسار) ؛
}
/**
* إرجاع أيقونة مخزنة في الملف على المسار المحدد
* @Param Section String قسم التخزين في ذاكرة التخزين المؤقت
* param path سلسلة المسار إلى ملف الأيقونة
* @أيقونة العودة الأيقونة المخزنة في الملف على المسار المحدد
*/
geticon static static static (قسم السلسلة ، مسار السلسلة) {
إرجاع geticon (getImage (القسم ، المسار)) ؛
}
/**
* إرجاع أيقونة بناءً على الصورة المحددة
* param صورة صورة الصورة الأصلية
* @أيقونة RETURN الرمز بناءً على الصورة
*/
public static imageicon geticon (صورة الصورة) {
إذا (الصورة == فارغ)
العودة لاغية.
إرجاع New ImageIcon (Image) ؛
}
}
Mainframe.java
نسخة الكود كما يلي:
استيراد java.awt.eventqueue ؛
استيراد java.awt.event.itemevent ؛
استيراد java.awt.event.itemlistener ؛
استيراد java.util.map ؛
استيراد java.util.set ؛
استيراد javax.swing.defaultComboboxModel ؛
استيراد javax.swing.jbutton ؛
استيراد javax.swing.jcombobox ؛
استيراد javax.swing.jframe ؛
استيراد javax.swing.jlabel ؛
استيراد javax.swing.jpanel ؛
استيراد javax.swing.jtextfield ؛
استيراد javax.swing.swingconstants ؛
استيراد javax.swing.uimanager ؛
استيراد javax.swing.border.titledborder ؛
يمتد Mainframe من الطبقة العامة Jframe {
/**
*
*/
استاتيكي خاص نهائي الطويل المسلسل = -4595347311922711984L ؛
Private JTextfield TextField_3 ؛
Private JTextField TextField_1 ؛
الخاص JCombobox combobox_1 ؛
خاص JTextfield Textfield ؛
الخاص JCombobox CityCombobox ؛
الخاص JCombobox combobox ؛
/**
* إطلاق التطبيق
*
* param args
*/
الفراغ الثابت العام (سلسلة args []) {
eventqueue.invokelater (New RunNable () {
تشغيل الفراغ العام () {
يحاول {
uimanager.setlookandfeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel") ؛
إطار Mainframe = mainframe جديد () ؛
frame.setVisible (صحيح) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
}
}) ؛
}
/**
* إنشاء الإطار
*/
Mainframe () {
getContentPane (). setLayout (null) ؛
setBounds (100 ، 100 ، 518 ، 379) ؛
setDefaultCloseOperation (jframe.exit_on_close) ؛
// احصل على المدينة/المقاطعة الافتراضية
String Province = (String) getProvince () [0] ؛
Settitle ("أدخل المدينة المقابلة والمقاطعة للاستعلام عن المقاطعة/البلدية المحددة") ؛
BackgroundPanel BackgroundPanel = New BackgroundPanel () ؛
BackgroundPanel.setImage (SwingResourCemanager.getImage (Mainframe.class ، "/Images/Background.jpg") ؛
BackgroundPanel.setBounds (0 ، 0 ، 510 ، 380) ؛
getContentPane (). add (backgroundPanel) ؛
لوحة JPanel النهائية = new JPanel () ؛
panel.setopaque (false) ؛
Panel.SetBounds (36 ، 126 ، 438 ، 70) ؛
BackgroundPanel.add (لوحة) ؛
panel.setLayout (null) ؛
Panel.setBorder (جديد بعنوان (NULL ، "مكان الإقامة" ، talleborder.default_justification ، talledborder.default_position ، null ، null)) ؛
CityCombobox = New JCombobox () ؛
CityCombobox.setBounds (245 ، 25 ، 124 ، 27) ؛
Pane.add (CityCombobox) ؛
CityCombobox.setModel (DefaultComboboxModel (GetCity (المقاطعة))) ؛
combobox = new JCombobox () ؛
combobox.setbounds (25 ، 25 ، 124 ، 27) ؛
Pane.add (combobox) ؛
combobox.additemlistener (new itemListener () {
public void itemStateChanged (itemevent final e) {// status status event
itemChange () ؛
}
}) ؛
ComboBox.SetModel (DefaultComboxModel جديد (GetProvince ())) ؛
Label JLabel Final = New JLabel () ؛
label.settext ("المقاطعة/متروبوليس") ؛
label.setBounds (155 ، 30 ، 66 ، 18) ؛
Pane.add (label) ؛
Final JLabel Label_1 = New JLabel () ؛
label_1.settext ("City/County") ؛
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 (سلسلة جديدة [] {"male" ، "female"})) ؛
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 ("البريد الإلكتروني:") ؛
textfield_3 = new JTextField () ؛
TextField_3.setBounds (113 ، 248 ، 367 ، 27) ؛
BackgroundPanel.add (TextField_3) ؛
زر Jbutton النهائي = New Jbutton () ؛
button.setBounds (159 ، 289 ، 75 ، 28) ؛
backgroundpanel.add (زر) ؛
button.settext ("حفظ") ؛
Final Jbutton Button_1 = New Jbutton () ؛
button_1.setBounds (265 ، 289 ، 75 ، 28) ؛
BackgroundPanel.add (button_1) ؛
button_1.settext ("reset") ؛
//
}
/**
* الحصول على المقاطعات والبلديات والمناطق ذاتية الحكم
*
* @يعود
*/
الكائن العام [] getProvince () {
الخريطة <string ، string []> map = citymap.model ؛ // الحصول على معلومات المقاطعة وحفظها على الخريطة
SET <STRING> SET = MAP.KEYSET () ؛
Object [] Province = set.toarray () ؛
العودة
}
/**
* احصل على المدينة/المقاطعة المقابلة للمقاطعة المحددة
*
* param selectprovince
* @يعود
*/
السلسلة العامة [] getCity (String selectProvince) {
الخريطة <string ، string []> map = citymap.model ؛
string [] arrcity = map.get (selectProvince) ؛
إرجاع arrcity
}
private void itemchange () {
String selectProvince = (String) comboBox.getSelectedItem () ؛
CityCombobox.RemovealLitems () ؛
String [] arrcity = getCity (SelectProvince) ؛
CityComboBox.setModel (DefaultComboxModel الجديد (Arrcity)) ؛
}
}
يظهر التأثير في الصورة: