?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[]?=?{?"英文測(cè)試",?"多語(yǔ)言測(cè)試",?"數(shù)字測(cè)試"?};
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?
運(yùn)行上面的代碼大家可以看到一個(gè)可以排序的表格,對(duì)多語(yǔ)言支持的非常好。
有一點(diǎn)要注意:
每列的數(shù)據(jù)類(lèi)型要一致,比如最后一列的1d,2d,如果直接寫(xiě)1,2,因?yàn)楹拖旅骖?lèi)型不一致,程序會(huì)出錯(cuò)。
posted on 2007-05-14 09:49
交口稱(chēng)贊 閱讀(1339)
評(píng)論(4) 編輯 收藏 所屬分類(lèi):
Java6