我在窗体加载的时候给JTable加了一个表头.
 Object[]   title={ "列名", "列名1", "列名2"};
 Object[][]   data={};
 JTable jTable1 = new JTable(data,title);如果我想在一个按钮下手动的添加一组数据怎么添加?
DefaultTableModel   model   =   new   DefaultTableModel();
Object [] data1 = {"数据","数据","数据"};
jTable1.setModel(model);
model.addRow(data1);这样添加对吗?可是为什么数据不显示?连列头都没有了.是怎么回事啊.

解决方案 »

  1.   

    建议看一下model的api你可以自己实现一个model,定义添加数据方法,并在table处理好刷新问题
    btw,google&baidu
      

  2.   

    你在构造table1的时候,table1已经生成了一个TableModel了,
    接着在代码里面又new一个DefaultTableModel,并将它set到table里作为新的model,
    之前包含列信息的TableModel已经被替换掉了,列头当然不见了。你可以先用列信息new一个DefaultTableModel,再对这个DefaultTableModel进行操作。
        private Object[] title = { "列名", "列名", "列名" };
        private Object[][] data = {};    private DefaultTableModel tableModel = new DefaultTableModel(data, title);
        private JTable table = new JTable(tableModel);
            appendButton.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    Object[] data1 = { "数据", "数据", "数据" };
                    tableModel.addRow(data1);
                }
            });