首页 > 代码库 > Android之PULL解析XML

Android之PULL解析XML

package project02_Order_management.util;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 * 一个JTable工具类 <br>
 * 进行初始化表数据
 * 
 * @author MartinDong
 * 
 */
public class TableUtil {
	/**
	 * 声明table控件
	 */
	private static JTable jTable;
	/**
	 * 初始化缺省的数据模型
	 */
	private static DefaultTableModel dtm;

	/**
	 * 初始化JTable控件
	 * 
	 * @param rst
	 *            传入的结果集
	 * @param columnNames
	 *            传入的表格的表头
	 * @return 返回jtable控件实体
	 */
	public static JTable initTable(ResultSet rst, String[] columnNames) {

		dtm = new DefaultTableModel(initDate(rst, columnNames), columnNames) {
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		};
		jTable = new JTable(dtm);
		return jTable;
	}

	/**
	 * 初始化缺省的数据模型
	 * 
	 * @param rst
	 *            传入的结果集
	 * @param columnNames
	 *            传入的表格的表头
	 * @return 返回二维数据
	 */
	public static Object[][] initDate(ResultSet rst, String[] columnNames) {
		Object[][] rowDate = null;
		if (rst != null) {
			// 移动光标到最后一行的ResultSet对象。为了获取所有的数据行
			try {
				rst.last();
				rowDate = new Object[rst.getRow()][columnNames.length];
				int index = 0;
				// 移到第一条数据韦德是后面的遍历
				rst.first();
				// 由于需要遍历从第一个,所以先从第一条记录向上移动一行数据
				rst.previous();
				while (rst.next()) {
					for (int j = 0; j < columnNames.length; j++) {
						rowDate[index][j] = rst.getObject(j + 1);
					}
					index++;
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return rowDate;
	}
}

Android之PULL解析XML