提供有china.xml和china.sql文件,实现全国省市区的三级联动效果
一、xml实现
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import java.awt.Font;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
@SuppressWarnings("serial")
public class ChinaJFrame extends JFrame {
private JPanel contentPane;
private List cityList=null;
private List provinceList=null;
private List countyList=null;
@SuppressWarnings("rawtypes")
private JComboBox provinceComboBox, cityComboBox, countyComboBox;
SAXReader reader = new SAXReader();
Document document = null;
List list=null;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ChinaJFrame frame = new ChinaJFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*
* @throws DocumentException
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public ChinaJFrame() throws DocumentException {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
provinceComboBox = new JComboBox();
provinceComboBox.setModel(new DefaultComboBoxModel(new String[] { "省份" }));
provinceComboBox.setBounds(33, 106, 108, 21);
cityComboBox = new JComboBox();
cityComboBox.setBounds(171, 106, 108, 21);
cityComboBox.setModel(new DefaultComboBoxModel(new String[] { "地级市" }));
countyComboBox = new JComboBox();
countyComboBox.setBounds(302, 106, 108, 21);
countyComboBox.setModel(new DefaultComboBoxModel(new String[] { "市、县级市" }));
provinceList = getProvince("province"