是这样的,你的用法不对,最简单的改法是
class test extends DefaultTableModel
{
  private String[][] value={      
      {"1","张三"},
      {"2","李四"},
      {"3","王五"}
  };
  private String[] name={"编号","姓名"};  
  public test {
       super(value,name);
  }
}

解决方案 »

  1.   

    你可以去实现TableModel接口,而不是继承DefaultTableModel类
      

  2.   

    to  duer:
      直接用你说的方法好像是对的,也不必试,我想问问,我这个方法为什么不对,这都祖先接口的方法呀。书上的例子是直接继承AbstractTableModel,我改成DefaultTableModel就不对
      

  3.   

    改:
    class test extends DefaultTableModel
    {
       public test()
       {
          super();
        }
      

  4.   

    晕,弄错了~~~~~~~
    这么改:
    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();
      }
    }
      

  5.   

    建议仔细研究下类的初始化过程要么把name和value设成static的要么在return前判断下是否为null
      

  6.   

    肯定不是null啊,为什么设成static呢,我先试试
      

  7.   

    邪门了,改成static的果然好用啊,sxyan,为什么是这样,从DefaultTableModel的源代码也看不出这点啊
      

  8.   

    仔细研究下 new 一个对象的过程,建议看看《java编程思想》里面应该有很好的例子
      

  9.   

    实际使用中model不可能设那两个为static
      

  10.   

    再说这跟创建一个对象有什么联系,平常定义一个 类,成员变量不都是private,非static的吗。
      

  11.   

    Vector row;
    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);就可以了。试试吧