靠!JTable 获取不到第一行数据!急! 用的是AbstractTableModel 模式JT_Join.getValueAt(0, 0)); 用JT_Join表获取到的是第2行的数据啊!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把你的代码拿出来看看,应该是Model实现的问题。再说 getValueAt(0,0);返回的是第一行、第一列的单元格的值 public class ATM extends AbstractTableModel { String[] Title; Vector vec_date; public ATM(Vector vec_date,String... Title) { this.Title=Title; this.vec_date=vec_date; } public int getColumnCount() { return Title.length; } public int getRowCount() { return vec_date.size(); } public Object getValueAt(int row, int column) { if(!vec_date.isEmpty()) { return ((Vector)vec_date.elementAt(0)).elementAt(0); } else { return null; } }0 显示的是第2行1 显示的是第3行2 就提示越界了。 你的vec_date的结构是怎样的呢?我的这个例子是每一行也是一个Vector。取出指定的一个元素 public Object getValueAt(int row, int col) { return ((Vector) content.get(row)).get(col); } public Object getValueAt(int row, int column) { if(!vec_date.isEmpty()) { return ((Vector)vec_date.elementAt(row)).elementAt(column); } else { return null; } 我的重载的这个方法是这样的。。为什么第一行没出现。。 虽然vector中的elementAt(int index)和get(int index)没有什么区别,但是还是建议你改用一下get方法试一下 你现在的代码没有问题的,但是你的意思好像是int row,int column传进来的值是从1开始的你试一试row-1,column-1。这个是比较奇怪的! 都getValueAt(0,0)了,还-1啊,不明摆着异常啊?!!!看看你构造模型时是怎么构造的。 谁知道怎么样,鼠标选择表格哪一行,然后获取这一行数据信息的id 然后对整个这一行的数据信息进行删除操作?是DefaultTableModel 模式的表格另外,这个表格的第一行属性 ID ,姓名……字体很小改不了,不知道怎么改呢?谢谢 这个可以用js去实现具体看下面的代码:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>New Page 1</title></head><body><script>function getrow(obj){ if(event.srcElement.tagName=="TD"){ curRow=event.srcElement.parentElement; alert("这是第"+(curRow.rowIndex+1)+"行"); }}</script><table border="1" width="100%" onclick=getrow(this)> <tr> <td width="20%"> </td> <td width="20%"> </td> <td width="20%"> </td> <td width="20%"> </td> <td width="20%"> </td> </tr> <tr> <td width="20%"> </td> <td width="20%"> </td> <td width="20%"> </td> <td width="20%"> </td> <td width="20%"> </td> </tr></table></body></html> String sql="select * from Member"; System.out.print(sql); if(SqlDB.query(sql)){//初始化 查询所有员工信息 try{ while(SqlDB.rs.next()){ //id name sex sfz bm zhiwei xl tel birth age rtime mar eng zhzhi address String mId=(""+SqlDB.rs.getInt("id"));//获得工号,也就是id String mName=SqlDB.rs.getString("name"); String mSex=SqlDB.rs.getString("sex"); String mEng=SqlDB.rs.getString("eng");// System.out.print(mId); Vector v=new Vector(); v.add(mId); v.add(mName); v.add(mSex); dtm.addRow(v);我用的不是jsp 是j2se 学习的地方,不用这么排斥吧另外table.getTableHeader().setFont(f);可以改变表格头的文字大小,我知道了 如何将一个类对象转化成另一个Interface 初学JAVA 向大牛求教 关于测试java程序的执行速度问题。 一段截屏的代码 还是一个匹配 看到此帖的高人请帮我一个小忙 子类实例化前父类会实例化?所以抽象类能被实例化? NESTED和INNER类有什么联系和区别啊 几个JAVA的问题,求教 SQL里面有没有LIMIT? 关于 ArrayList 的 toArray问题 java 基础问题
public class ATM extends AbstractTableModel { String[] Title;
Vector vec_date;
public ATM(Vector vec_date,String... Title)
{
this.Title=Title;
this.vec_date=vec_date;
}
public int getColumnCount() {
return Title.length;
} public int getRowCount() {
return vec_date.size();
} public Object getValueAt(int row, int column) {
if(!vec_date.isEmpty())
{
return ((Vector)vec_date.elementAt(0)).elementAt(0);
}
else
{
return null;
}
}
0 显示的是第2行
1 显示的是第3行
2 就提示越界了。
取出指定的一个元素
public Object getValueAt(int row, int col)
{
return ((Vector) content.get(row)).get(col);
}
public Object getValueAt(int row, int column) {
if(!vec_date.isEmpty())
{
return ((Vector)vec_date.elementAt(row)).elementAt(column);
}
else
{
return null;
}
我的重载的这个方法是这样的。。为什么第一行没出现。。
你现在的代码没有问题的,但是你的意思好像是int row,int column传进来的值是从1开始的
你试一试row-1,column-1。
这个是比较奇怪的!
都getValueAt(0,0)了,还-1啊,不明摆着异常啊?!!!看看你构造模型时是怎么构造的。
是DefaultTableModel 模式的表格
另外,这个表格的第一行属性 ID ,姓名……字体很小改不了,不知道怎么改呢?谢谢
这个可以用js去实现具体看下面的代码:<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head><body><script>
function getrow(obj)
{
if(event.srcElement.tagName=="TD"){
curRow=event.srcElement.parentElement;
alert("这是第"+(curRow.rowIndex+1)+"行"); }
}
</script><table border="1" width="100%" onclick=getrow(this)>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table></body></html>
System.out.print(sql);
if(SqlDB.query(sql)){//初始化 查询所有员工信息
try{
while(SqlDB.rs.next()){
//id name sex sfz bm zhiwei xl tel birth age rtime mar eng zhzhi address
String mId=(""+SqlDB.rs.getInt("id"));//获得工号,也就是id
String mName=SqlDB.rs.getString("name");
String mSex=SqlDB.rs.getString("sex");
String mEng=SqlDB.rs.getString("eng");
// System.out.print(mId);
Vector v=new Vector();
v.add(mId);
v.add(mName);
v.add(mSex);
dtm.addRow(v);我用的不是jsp 是j2se
学习的地方,不用这么排斥吧
另外table.getTableHeader().setFont(f);可以改变表格头的文字大小,我知道了