求助:想简化一下JTable的使用,却无法添加数据(有源码和错误信息)???!!! 兄弟,你的代码出现这种情况是因为对象数组下标超出范围,比如一个长度为5的Int型数组,应该为a[0]~a[4],但在程序中出现a[5],a[6]等等就会出现这种异常 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所以,你要检查你的代码中的addColumn(int index, Object name, int minWidth, int maxWidth, int width),public void removeColumn(int index);public void insertRow(int row, Object[] rowData);public void insertRow(int row, Vector rowData)的这几个方法,因为这几个方法都涉及到对象数组下标问题 最好是在以上几个方法中进行ArrayIndexOutOfBoundsException的异常捕捉,以防止对象数组下标超出范围 错误在于 table.addRow(new Object[] {"hello"});你的addRow方法写的不对,加入的对象至少要有那五个列呀!给你一个我以前写得代码,参照一下吧dataModel=new KSTableModel(data);table = new JTable(dataModel);import java.util.Vector;import javax.swing.table.AbstractTableModel;import java.security.*;public class KSTableModel extends AbstractTableModel { Vector data; public KSTableModel( Vector data){this.data=data;} final String columnName[]={"alias","date created","entry type","finger(MD5)"}; public int getRowCount(){return data.size();}; public int getColumnCount(){return columnName.length ;} public String getColumnName(int column) { return columnName[column]; } public void appendRow(KeyStoreItem item){ data.add(item); fireTableRowsInserted(data.size() - 1, data.size() - 1); } public void deleteRow(int curRow){ data.remove(curRow); fireTableRowsDeleted(curRow,curRow); } public Object getValueAt(int row, int column){ KeyStoreItem aItem=(KeyStoreItem) data.elementAt(row); switch( column){ case 0: return aItem.alias; case 1: return aItem.creationDate; case 2: return aItem.type; case 3: return aItem.fingerprint; } return null; };} 哦,忘了说KeyStoreItem 是另一个类,如:public class KeyStoreItem{ public String alias; public String creationDate; public String type; public String fingerprint; public KeyStoreItem(String alias, String createionDate, String type, String fingerprint) { this.alias = null; creationDate = null; this.type = null; this.fingerprint = null; this.alias = alias; creationDate = createionDate; this.type = type; this.fingerprint = fingerprint; } 想问下关于以后的学习个方向,求解释。谢谢。 小白java正则表达式遇到问题,求助啊。 如何用JAVA提取文本中的某些数据? java正则匹配问题 java写的软件,怎么能不用编译直接运行 如何实现从文件尾到文件头一行一行读文件? java如何获取局域网用户的信息? 如何才能正确的编译Hello.Java ?请问各位朋友。如何在applet中实现点击一个按钮,然后IE转到另一个页面的功能啊(或者激活本页的另一个applet也行) java初级调试问题? 哪有LookAndFeel下载?并怎样把它运用到自己的程序中? 给点建议好吗!!!
dataModel=new KSTableModel(data);
table = new JTable(dataModel);
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
import java.security.*;public class KSTableModel extends AbstractTableModel {
Vector data; public KSTableModel( Vector data){this.data=data;}
final String columnName[]={"alias","date created","entry type","finger(MD5)"};
public int getRowCount(){return data.size();};
public int getColumnCount(){return columnName.length ;}
public String getColumnName(int column)
{
return columnName[column];
}
public void appendRow(KeyStoreItem item){
data.add(item);
fireTableRowsInserted(data.size() - 1, data.size() - 1); } public void deleteRow(int curRow){
data.remove(curRow);
fireTableRowsDeleted(curRow,curRow);
} public Object getValueAt(int row, int column){
KeyStoreItem aItem=(KeyStoreItem) data.elementAt(row);
switch( column){
case 0:
return aItem.alias;
case 1:
return aItem.creationDate; case 2:
return aItem.type; case 3:
return aItem.fingerprint;
}
return null;
};}
public class KeyStoreItem
{
public String alias;
public String creationDate;
public String type;
public String fingerprint; public KeyStoreItem(String alias, String createionDate, String type, String fingerprint)
{
this.alias = null;
creationDate = null;
this.type = null;
this.fingerprint = null;
this.alias = alias;
creationDate = createionDate;
this.type = type;
this.fingerprint = fingerprint;
}