解决之道

个人日记
posts - 33, comments - 1, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

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

Posted on 2008-07-31 15:12 阅读(134) 评论(0)  编辑  收藏

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

只有注册用户登录后才能发表评论。


网站导航: