cd.setTime(date);
dateStr=(cd.get(Calendar.YEAR))+"年"
+(cd.get(Calendar.MONTH)+1)+"月"
+(cd.get(Calendar.DATE))+"日";
ywf.jlDATTime.setText("明天:"+dateStr
+" "+fromCodeToText(code));
ywf.jlDATHigh.setText("最高温度:"+
nnm.getNamedItem("high").getNodeValue()+"℃");
ywf.jlDATLow.setText("最低温度:"+
nnm.getNamedItem("low").getNodeValue()+"℃");
}catch(Exception e){e.printStackTrace();}
}
此方法中使用JAXP中的DOM方式对从网络上获取的天气信息XML文档进行解析,并将解析的结果填充到界面中的各个控件进行显示。
要特别注意的是,在显示天气情况时为了生动形象,采用了图片。对每种不同的天气情况代码各提供一幅图片,统一存放在img文件夹中,图片的名称即为情况代码,如图3所示。

图3 天气情况图片
另外要注意将img文件夹与class文件包放在同一个目录中,否则程序无法正确运行。
完成了YahooWeather类的开发后,将其进行编译,并在YahooWeatherFrame类代码框架中“未来添加解析天气并填充到界面代码……”处添加如下代码:
YahooWeather.parseWeather(this,cityCode);
添加完上述代码后,再次编译YahooWeatherFrame类,并运行YahooWeatherFramePre类。此时如同图1、图2所示,程序就能够从网络中获取对应城市的天气预报信息并显示在界面上了。
6 程序的打包与发布
完成了所有代码的编写后,就可以将程序打包发布了,在本案例中使用JavaSE 6.0自带的jar工具将应用程序打包成可执行jar包发布,读者按如下步骤操作即可。
首先,在进行打包之前首先要编写一个名称为MANIFEST.MF的清单文件,用来对应用程序进行描述,其内容如下:
Mainfest-Version: 1.0
Main-Class: wyf.YahooWeatherFramePre
Created-By: 1.6.0(Sun Microsystems Inc.) 请读者特别注意的是,这个文件的格式非常重要,每一行要顶格写,前面不能留空格。同时,“:”前面不能有空格,后面一定要留一个空格,大小写也不能出错。
|