AbstractTableModel如何实现插入一行或删除一行?

wgf42421 2010-01-12 06:22:42
public class MyTableModel extends AbstractTableModel {
private String[] columnNames;
private Object[][] data;

public MyTableModel(Object[][] data, String[] columnNames) {
this.columnNames = columnNames;
this.data = data;
}
}


然后我创建了
JTable table = new JTable(new MyTableModel(rowdata, this.name));


这样要怎么进行插入行和删除行和显示更新呢?...
请给出解决方案后,最好给个例子.
...全文
709 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgf42422 2010-01-16
  • 打赏
  • 举报
回复
用List嵌套List完成了。
wgf42421 2010-01-12
  • 打赏
  • 举报
回复
上面帖的代码是我尝试用List来模拟动态二维数组来解决.但是没成功...
如果有好的建议请给我.3Q
wgf42421 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 still_rain 的回复:]
在你的MyTableModel中实现一个addTableItem和removeTableItem的方法,在方法的内部最后调用fireTableDataChanged。更新表格数据的时候,调用这两个方法,就可以刷新你的JTable了。
[/Quote]


String[]和 Object[][]大小不可变.怎么办?


public class MyTableModel extends AbstractTableModel {
private List columnNames;
private List<List<String>> data;

public MyTableModel(List<List<String>> data, List columnNames) {
this.columnNames = columnNames;
this.data = data;
}


public int getColumnCount() {
return columnNames.size();
}

public int getRowCount() {
return data.size();
}

public String getColumnName(int col) {
return columnNames.get(col).toString();
}

public Object getValueAt(int row, int col) {
return data.get(row).get(col); //To change body of implemented methods use File | Settings | File Templates.
}

}


显示时不正常啊.显示Ljava.lang.Object

貌似是在public Object getValueAt(int row, int col)返回出问题了.继续求助.
爱摸鱼de老邪 2010-01-12
  • 打赏
  • 举报
回复
在你的MyTableModel中实现一个addTableItem和removeTableItem的方法,在方法的内部最后调用fireTableDataChanged。更新表格数据的时候,调用这两个方法,就可以刷新你的JTable了。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧