//对后天天气界面进行初始化
jpx.setLayout(null);
jlDATTime.setFont(font);
jlDATTime.setBounds(5,5,300,20);
jpx.add(jlDATTime);
jlDATImg.setBounds(55,20,175,120);
jpx.add(jlDATImg);jlDATHigh.setFont(font);
jlDATHigh.setBounds(5,140,175,20);
jpx.add(jlDATHigh);jlDATLow.setFont(font);
jlDATLow.setBounds(155,140,175,20);
jpx.add(jlDATLow);
}
完成了上述代码的开发后将YahooWeatherFrame类进行编译,并在YahooWeatherFramePre类代码框架中“未来在此处添加创建天气预报信息显示窗口的代码……”处添加如下代码:
new YahooWeatherFrame(selectedCityCode, image);
添加完上述代码后,再次编译YahooWeatherFramePre类并运行,此时再点击“确定”按钮就可以看到天气预报窗体了,不过此时程序还不能从网络中获取天气预报信息解析显示。
5 信息解析类
完成了两个窗体类的开发后,就可以进行天气预报信息解析类YahooWeather的开发了,其代码框架如下:
package wyf;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;import java.net.*;
import javax.swing.*;import java.text.*;
import java.util.*;
public class YahooWeather
{
//获取天气信息并解析填充的方法
public static void parseWeather
(YahooWeatherFrame ywf, String cityCode) {}
//将天气情况代码转换为文字信息的方法
public static String fromCodeToText(int code){}
//将风向角度转化为文字信息的方法
public static String
fromDegreeToDirectionStr(int degree){}
}
从上述代码中可以看出,YahooWeather是一个工具类,其中提供了用于获取解析天气的3个静态方法。首先应该开发将风向角度转化为文字信息的fromDegreeToDirectionStr方法,其代码如下:
public static String
fromDegreeToDirectionStr(int degree)
{
if(degree>337 && degree<=360){return "北风";}
else if(degree>=0 && degree<=22){return "北风";}
else if(degree>22 && degree<=67){return "东北风";}
else if(degree>67 && degree<=112){return "东风";}
else if(degree>112 && degree<=157){return "东南风";}
else if(degree>157 && degree<=202){return "南风";}
else if(degree>202 && degree<=247){return "西南风";}
else if(degree>247 && degree<=292){return "西风";}
else if(degree>292 && degree<=337){return "西北风";}
else {return "错误的方向值";}
}
|