package org.fanhongtao.tools.dbviewer;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
/**
* @author Dharma
* @created 2010-7-7
*/
public abstract class AbstractIndexTableModel extends AbstractTableModel
{
private static final long serialVersionUID = 1L;
private String[] columnNames = null;
private List<String[]> valueList = new ArrayList<String[]>();
/**
*
*/
public AbstractIndexTableModel(ResultSet rs, String[] columnNames)
{
super();
this.columnNames = columnNames;
if (null == rs)
{
return;
}
try
{
while (rs.next())
{
String[] values = new String[columnNames.length];
for (int i = 0; i < columnNames.length; i++)
{
values[i] = rs.getString(columnNames[i]);
}
valueList.add(values);
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
@Override
public int getColumnCount()
{
return columnNames.length;
}
public String getColumnName(int column)
{
return columnNames[column];
}
@Override
public int getRowCount()
{
return valueList.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex)
{
return valueList.get(rowIndex)[columnIndex];
}
}