是这样的,你的用法不对,最简单的改法是
class test extends DefaultTableModel
{
private String[][] value={
{"1","张三"},
{"2","李四"},
{"3","王五"}
};
private String[] name={"编号","姓名"};
public test {
super(value,name);
}
}
class test extends DefaultTableModel
{
private String[][] value={
{"1","张三"},
{"2","李四"},
{"3","王五"}
};
private String[] name={"编号","姓名"};
public test {
super(value,name);
}
}
直接用你说的方法好像是对的,也不必试,我想问问,我这个方法为什么不对,这都祖先接口的方法呀。书上的例子是直接继承AbstractTableModel,我改成DefaultTableModel就不对
class test extends DefaultTableModel
{
public test()
{
super();
}
这么改:
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);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DefaultTableModel aa = new DefaultTableModel(new String[][] {
{"1","张三"},
{"2","李四"},
{"3","王五"}
},new String[] {"编号","姓名"}
);
JTable table=new JTable(aa);
frame.getContentPane().add(table,BorderLayout.CENTER);
frame.show();
}
}
Vector tableHandName;//列名
String handName={"序号","姓名","职务"};
for (int i=0;i<handName.length();i++)
{
tableHandName.add(handName[i]);
}//显示的数据Data
public void getData(Vector tmpRow)
{
for (int i=0;i<9;i++)
{
Vector col;
for(int j=0;i<9;i++)
{
col.add(j);
}
tmpRow.add(col);
}
}//创建表
getData(row);
DefaultTableModel tableModel=new DefaultTableModel(row,tableHandName);
JTable myTable=new JTable(tableModel);就可以了。试试吧