[导入]关于JTable,为何这样?

        下周完我就工作满一年啦。回想大部分的时间都被好奇心给占去了,这个组件好玩弄一下,那个好玩也弄一下,最后手里还是什么都没得,而本身的工作是基于swing,倒是没花多少精力,最后也是对swing一知半解,今天想研究研究下talbe,却发现被这么个问题给卡住了。
       是这样的给TableModel传入表头和内容,但是直接将table加到frame中去,table显示不了表头如图1,但是将table放到JScrollPane中去,却能显示,如图2。

        [导入]关于JTable,为何这样?_第1张图片

                                     图一      
        [导入]关于JTable,为何这样?_第2张图片     
                             图二                                                              
    为什么这样?实在是弄不明白,不知道有那位高手指点下不?
     源码如下:

package  kissJava.JTable;

import  javax.swing. * ;
import  javax.swing.table. * ;
import  java.awt. * ;
public   class  TestSortedTable  {
    
public static void main(String args[]){
        JFrame frame 
= new JFrame("JTable的header测试");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Object rows[][] 
={
                
"王明""中国"44 },
                
"姚明""中国"25 },
                
"赵子龙""西蜀"1234 },
                
"曹操""北魏"2112 },
                
"Bill Gates""美国"45 },
                
"Mike""英国"33 } }
;
        String columns[] 
= "姓名""国籍""年龄" };
        TableModel model 
= new DefaultTableModel(rows, columns);
        JTable table 
= new JTable(model);
        
        RowSorter
<TableModel> sorter = new TableRowSorter<TableModel>(model);
        table.setRowSorter(sorter);
        
        JScrollPane pane 
= new JScrollPane(table);
        frame.add(pane, BorderLayout.CENTER);
//显示header        
    
//    frame.add(table, BorderLayout.CENTER);//不显示header    
        frame.setSize(300150);
        frame.setVisible(
true);
  }

}



枯宽 2008-03-21 12:31 发表评论

文章来源: http://www.blogjava.net/kissjava/articles/187671.html

你可能感兴趣的:([导入]关于JTable,为何这样?)