如何改变JTable的单元格数量? 如果改变已存在的JTable的大小? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 详细点:程序开始时生成一个JTable,在使用过程中可以改变JTable的单元格数量,比如删除一行或者一列... 这个当然可以了,你可以用removeRow方法来删除一行 今天我也碰到类似问题,动态插入一行。通常JTable table = new JTable(new AbstractTableModel派生类);假设object[][]行列分别为row和col。插入一行,如行数小于等于row,实质上是修改cell。若行数大于row,那么需要重新new object[][]二维数组,个人感觉效率比较差,但是还是可以实现。不知是否还有好的办法? 一般是使用dataModel 的。如果你觉得次次都new object比较麻烦,可以用ArrayList来记录,每次在ArrayList上add,delete就行了 void refreshTable() { try { int totalColumns = 10; int totoalRows = 10; String[][] myObjs = new String[totoalRows][totalColumns]; TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return totalColumns; } public int getRowCount() { return myObjs != null ? myObjs.length : 0; } public String getColumnName(int columnIndex) { return colNames[columnIndex]; } public Object getValueAt(int row, int col) { String obj = myObjs[row][col]; Object returnVal = ""; returnVal = myObjs[row][col]; return returnVal; } }; this.jTable1.setModel(dataModel); } catch(Exception ex) { System.out.println("=======================" + ex.getMessage() + "=========================="); } } 求助:字符串数组中字母的排列组合算法 java画2个长方形 随即变填充颜色 怎样刷新表格数据? Java之static,自增自减以及静态快构造块问题 jBuilder如何单步跟踪?(当天就给分) 强烈建议开个jb的专栏,同意的跟贴 关于Socket编程 高分求助:奇怪的问题???加package不能运行! ??????在线等待 java 序列化与对象克隆 配置TOMCAT 100分, 訪問EJB方法, 客戶端錯誤!!!!!!!
通常
JTable table = new JTable(new AbstractTableModel派生类);假设object[][]行列分别为row和col。插入一行,如行数小于等于row,实质上是修改cell。
若行数大于row,那么需要重新new object[][]
二维数组,个人感觉效率比较差,但是还是可以实现。不知是否还有好的办法?
try {
int totalColumns = 10;
int totoalRows = 10;
String[][] myObjs = new String[totoalRows][totalColumns];
TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() {
return totalColumns;
}
public int getRowCount() {
return myObjs != null ? myObjs.length : 0;
}
public String getColumnName(int columnIndex) {
return colNames[columnIndex];
}
public Object getValueAt(int row, int col) {
String obj = myObjs[row][col];
Object returnVal = "";
returnVal = myObjs[row][col];
return returnVal;
}
};
this.jTable1.setModel(dataModel);
} catch(Exception ex) {
System.out.println("=======================" + ex.getMessage() + "==========================");
}
}