你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
用Java实现Yahoo天气预报客户端(五)
 

//CityList.xml文件中加载城市列表

public void initCityList(){}

//主方法

public static void main(String args[])

{new YahooWeatherFramePre();}

}

上述代码中“ImageIcon("img/ico.png")”加载了窗体的logo图片,因此要将ico.png图片文件存放到img文件夹下,img文件夹放置在class包所在目录下,否则程序不能正确执行。

在完成了代码框架的开发后就可以开发加载城市列表XML文档CityList.xmlinitCityList方法了,其代码如下:

public void initCityList()

{

try

{

// 为解析XML文件创建DOM对象

DocumentBuilderFactory factory =

DocumentBuilderFactory.newInstance();

DocumentBuilder builder =

factory.newDocumentBuilder();    

//解析XML文件

Document doc =

builder.parse(new File("CityList.xml"));

// 规格化

doc.normalize();         

//解析城市列表

NodeList cityItems =

doc.getElementsByTagName("cityItem");

int cityCount=cityItems.getLength();

CityItem[] cia=new CityItem[cityCount];

for(int i=0;i<cityCount;i++){

Element cityElement =

 (Element)cityItems.item(i);

String ccode=

cityElement.getElementsByTagName("code")

.item(0).getFirstChild().getNodeValue();

String cname=

cityElement.getElementsByTagName("name")

.item(0).getFirstChild().getNodeValue();

cia[i]=new CityItem(cname,ccode);}

jcb.setModel(

new DefaultComboBoxModel(cia));

}catch(Exception e){e.printStackTrace();}

}

上述initCityList方法将CityList.xml文件中的每个cityItem加载为一个CityItem类对象,并添加到CityItem数组中,最终将数组添加到DefaultComboBoxModel对象以显示到下拉列表中。完成YahooWeatherFramePre类的开发后,将代码编译运行一下,可以见到如图1所示的城市列表选择窗体。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089