使用DefaultTableModel的错误?
askr 2005-01-11 01:44:01 我定义了一个继承DefaultTableModel的类,为什么getRowCount()方法报错java.lang.NullPointerException,getColumnCount()也有同样的问题,只好全部写上数字。但是列名为什么不显示呢?
package test;
import java.awt.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class Untitled1
{
public static void main(String[] args) {
JFrame frame=new JFrame();
frame.setSize(400,200);
JTable table=new JTable(new test());
frame.getContentPane().add(table,BorderLayout.CENTER);
frame.show();
}
}
class test extends DefaultTableModel
{
private String[][] value={
{"1","张三"},
{"2","李四"},
{"3","王五"}
};
private String[] name={"编号","姓名"};
public Object getValueAt(int r, int c)
{
return value[r][c];
}
public int getRowCount()
{
// return 3;
return this.value.length;
}
public int getColumnCount()
{
return 2;
}
public String getColumnName(int r)
{
return name[r];
}
}
经测试,把列值和列名的两个数组改成static的果然好用,不知为什么这样。