当前位置: 技术问答>java相关
继承于AbstractTableModel的JTable如何实现动态删除一行?谢谢!
来源: 互联网 发布时间:2015-10-24
本文导语: 继承于AbstractTableModel的JTable如何实现动态删除一行?谢谢! | 分数也真是太少了点……,不过我还是可以告诉你: public class FolderTable extends AbstractTableModel { //Folder folder; //Message...
继承于AbstractTableModel的JTable如何实现动态删除一行?谢谢!
|
分数也真是太少了点……,不过我还是可以告诉你:
public class FolderTable extends AbstractTableModel {
//Folder folder;
//Message[] messages;
String[][] rowValues;
String[] columnNames = {"asfasdf","asfasfd","asfasfas"};
Class[] columnTypes = { String.class, String.class, String.class };
public void setRowValues(String[][] rows) {
this.rowValues = rows;
fireTableDataChanged();
}
public String[][] getRowValues() {
return rowValues;
}
//---------------------
// Implementation of the TableModel methods
//---------------------
public String getColumnName(int column) {
return columnNames[column];
}
public Class getColumnClass(int column) {
return columnTypes[column];
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
if (this.rowValues != null)
return rowValues.length;
return 0;
}
public Object getValueAt(int aRow, int aColumn) {
//return "";
if (this.rowValues != null)
return rowValues[aRow][aColumn];
return "";
}
}
每次你删除一行后,重新调用一下setRowValues(String[][] 删除行后的新数据集),(FolderTable是放在一个JScrollPane上),JScrollPane再调用一下inValidate(),validate(),就可以自动刷新FolderTable了。
public class FolderTable extends AbstractTableModel {
//Folder folder;
//Message[] messages;
String[][] rowValues;
String[] columnNames = {"asfasdf","asfasfd","asfasfas"};
Class[] columnTypes = { String.class, String.class, String.class };
public void setRowValues(String[][] rows) {
this.rowValues = rows;
fireTableDataChanged();
}
public String[][] getRowValues() {
return rowValues;
}
//---------------------
// Implementation of the TableModel methods
//---------------------
public String getColumnName(int column) {
return columnNames[column];
}
public Class getColumnClass(int column) {
return columnTypes[column];
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
if (this.rowValues != null)
return rowValues.length;
return 0;
}
public Object getValueAt(int aRow, int aColumn) {
//return "";
if (this.rowValues != null)
return rowValues[aRow][aColumn];
return "";
}
}
每次你删除一行后,重新调用一下setRowValues(String[][] 删除行后的新数据集),(FolderTable是放在一个JScrollPane上),JScrollPane再调用一下inValidate(),validate(),就可以自动刷新FolderTable了。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。