关于Netbeans的JTable显示数据的问题

来源:互联网 发布:数据库内模式是什么 编辑:程序博客网 时间:2024/06/05 11:02
首先是要对该Table的属性进行设置,也就是对其Properties进行自定义设置。在属性选项里面可以看到有一个叫做model的项,对这个进行修改就可以得到想要的表格布局。我的布局代码如下,是IDE自动生成的代码,不能修改的,可以参照这段代码来写自定义的初始化代码:

       merchandiseTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "编号", "名称", "单位", "商品类别"
            }
        ));

这样会显示6行空白,列表头为"编号", "名称", "单位", "商品类别",一共4列,当然也可以设置行表头,那就看个人的需要了。

       接着是在表格里显示数据,我想这是刚开始用JTable都会遇到的问题,其实这里的关键就是JTable相应的DefaultTableModel变量,比如取名为 dtm,就可以用dtm.addRow(Object[])这样简洁的代码来显示想要显示的一行数据了。示例代码如下:

       private void merchandiseTableInit(){ 
        Object[][] ob = {};
        String[] st = {
             "编号", "名称", "单位", "商品类别"
        };
        dtm = new DefaultTableModel(ob,st);
        merchandiseTable.setModel(dtm);
        Object[] info1 = {"007","鲜橙多","瓶","饮料"};
        String[] info2 = {"003","奥利奥","袋","饼干","11"};
        dtm.addRow(info1);
        dtm.addRow(info2);
    }
Object二维数组是构造DefaultTableModel的第一个参数,String数组是其第二个参数,参数的功能一试就明白的,

然后对JTable变量merchandiseTable重新设置一下,也就是merchandiseTabel.setModel(dtm),之后通过dtm添加数据就行了,数据类型只要是Object类型及其派生类型的数组都可以,由于只有4列,故那个多余的"11"是不会显示出来的。

0 0