学习Java6(九)Table(1)排序表格

学习Java6(九)Table(1)排序表格
 1  import  javax.swing. * ;
 2  import  javax.swing.table. * ;
 3  import  java.awt. * ;
 4 
 5  public   class  SortTable {
 6       public   static   void  main(String args[]) {
 7          Runnable runner  =   new  Runnable() {
 8               public   void  run() {
 9                  JFrame frame  =   new  JFrame( " Sorting JTable " );
10                  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
11                  Object rows[][]  =  { 
12                          {  " AAA " " " , 1d },
13                          {  " AAB " " " , 2d },
14                          {  " ABC " " このページを印刷 " 3.14  },
15                          {  " BBB " " hermit " 3.14  },
16                          {  " BBC " " 0 " 1.3  },
17                          {  " AAA " " !!! " 93.02  }
18                          };
19                  String columns[]  =  {  " 英文测试 " " 多语言测试 " " 数字测试 "  };
20                  TableModel model  =   new  DefaultTableModel(rows, columns) {
21                       private   static   final   long  serialVersionUID  =   5766888502894481655L ;
22 
23                       public  Class getColumnClass( int  column) {
24                          Class returnValue;
25                           if  ((column  >=   0 &&  (column  <  getColumnCount())) {
26                              returnValue  =  getValueAt( 0 , column).getClass();
27                          }  else  {
28                              returnValue  =  Object. class ;
29                          }
30                           return  returnValue;
31                      }
32                  };
33 
34                  JTable table  =   new  JTable(model);
35                  RowSorter < TableModel >  sorter  =   new  TableRowSorter < TableModel > (
36                          model);
37                  table.setRowSorter(sorter);
38                  JScrollPane pane  =   new  JScrollPane(table);
39                  frame.add(pane, BorderLayout.CENTER);
40                  frame.setSize( 300 150 );
41                  frame.setVisible( true );
42              }
43          };
44          EventQueue.invokeLater(runner);
45      }
46  }
47 


运行上面的代码大家可以看到一个可以排序的表格,对多语言支持的非常好。
有一点要注意:
每列的数据类型要一致,比如最后一列的1d,2d,如果直接写1,2,因为和下面类型不一致,程序会出错。

你可能感兴趣的:(学习Java6(九)Table(1)排序表格)