UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPv
解决方案 »
- 如何判断流中的信息是否为序列化对象?
- Eclipse中Debug 和 Run 模式下 对java.awt.datatransfer.DataFlavor 对象调用hashCode()所得值不同?为什么?谢谢
- 1.5转1.4的泛型问题
- Solaris环境下,JAVA 程序中与Formula 1 有关的打印问题
- 我想问一问大家对张孝祥培训的意见
- 有谁知道java画面上屏蔽鼠标动作
- 要面试华为了(JAVA方向),大家指点指点吧……
- 我爱Robocode!是否有志同道合的,大家切磋切磋!
- 怎样得到查询数据库得到的结果集中记录的个数,以及怎样从中随机的抽取一条记录
- 请问大虾们tomcat和weblogic还有websphere到底有什么区别??
- 怎么用 metadata.getTableName(1) 取得表名总是null或者""!!!
- 救命!在sun one studio 4 中如何读取相对路径中的文件,散分!!!
import javax.swing.table.*;
import java.util.*;class ResultsModel extends DefaultTableModel
{
public void setStatement(Statement statement)
{
this.stmt = statement;
}
public void setResultSet(ResultSet results)
{
if(results == null)
{
columnNames = new String[0];
dataRows.clear();
fireTableChanged(null);
return;
}
try
{
metadata = results.getMetaData();
int columns = metadata.getColumnCount();
columnNames = new String[columns];
for(int i = 0 ;i < columns;i++)
columnNames[i] = metadata.getColumnLabel(i+1);
dataRows = new Vector();
String[] rowData;
while(results.next())
{
rowData = new String[columns];
for(int i = 0;i < columns;i++)
rowData[i] = results.getString(i+1);
dataRows.addElement(rowData);
}
fireTableChanged(null);
}
catch(SQLException sqle)
{
System.err.println(sqle);
}
}
public int getColumnCount()
{
return columnNames.length;
}
public int getRowCount()
{
if(dataRows == null)
return 0;
else
return dataRows.size();
}
public Class getColumnClass(int c)
{
return getValueAt(0, c).getClass();
}
public Object getValueAt(int row,int column)
{
return ((String[])(dataRows.elementAt(row)))[column];
}
public String getColumnName(int column)
{
return columnNames[column] == null ? "No Name" : columnNames[column];
}
public void setValueAt(Object value,int row,int col)
{
((String[])(dataRows.elementAt(row)))[col] = (String)value;
}
//使jtable中的内容可编辑
public boolean isCellEditable(int row, int column)
{
return column != 0;
}
String[] columnNames = new String[0];
Vector dataRows = new Vector();
Statement stmt;
ResultSetMetaData metadata;
String table = null;
String table_pk = null;
}这个问题我已经用另外一种方法自己解决了,修改这个ResultModel的dataRows,直接在里面增加一元素
但很上知道tableModel.addRow(rowdata);的用法,各样是这样用的吗?
以上的错误是不是因为行数和列数都由dataRows决定了,不能用addRow吗?
我自己解决的方法就是在dataRows中加入一元素就搞定了