3.城市选择窗体的开发
城市选择窗体的主要功能就是让用户选择需要天气预报的城市,其核心就是供城市选择的下拉列表框。为了方便维护以及程序的可扩展性考虑,下拉列表中的城市信息将从一个自定义的XML文档CityList.xml中加载,其基本内容如下:
<?xml version="1.0" encoding="GBK" standalone="yes" ?>
<CityList>
<cityItem>
<code>CHXX0008</code><name>北京</name>
</cityItem>
<cityItem>
<code>CHXX0116</code><name>上海</name>
</cityItem>
<cityItem>
<code>CHXX0037</code><name>广州</name>
</cityItem>
<cityItem>
<code>CHXX0138</code><name>武汉</name>
</cityItem>
<cityItem>
<code>CHXX0044</code><name>杭州</name>
</cityItem>
<cityItem>
<code>CHXX0502</code><name>海口</name>
</cityItem>
<cityItem>
<code>CHXX0131</code><name>唐山</name>
</cityItem>
<cityItem>
<code>CHXX0321</code><name>扬州</name>
</cityItem>
</CityList>
使用XML文档的好处是,未来需要添加新的城市时不需要修改源代码,只需要在XML中添加新的cityItem元素即可。
有了记录城市信息的XML文档后就可以对城市选择窗体类YahooWeatherFramePre进行开发了,其代码框架如下:
package wyf;
import java.util.*; import javax.swing.*;
import java.awt.*; import java.awt.event.*;
import javax.xml.parsers.*; import org.w3c.dom.*;
import java.io.*; import java.net.*;
public class YahooWeatherFramePre extends JFrame{
Image image;//窗体图标
JLabel jl=new JLabel("请选择城市");
//城市选择下拉列表
JComboBox jcb=new JComboBox();
JButton jb=new JButton("确定"); //用来封装每个城市名称及代码的内部类
|