本文主要是介绍关于jTable,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先看代码Object rows[][] = { { "王明", "中国", 44 }, { "姚明", "中国", 25 },
{ "赵子龙", "西蜀", 1234 }, { "曹操", "北魏", 2112 },
{ "Bill Gates", "美国", 45 }, { "Mike", "英国", 33 },
{ "姚明", "中国", 25 }, { "赵子龙", "西蜀", 1234 },
{ "曹操", "北魏", 2112 }, { "Bill Gates", "美国", 45 },
{ "Mike", "英国", 33 }, { "姚明", "中国", 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);
关于上面的代码这里有更为详细的介绍
【看了日志后的体会】
1、【问题】在开始使用的时候只是把他的代码搬到我的类里面,结果造成了使用的失误,
【解决】table的行列的数据结构不一样,使用的排序方法自然也不一样, string是根据字段排序的, 1,12,123,2,23,234。。。, 而int是一般排序1,2,3,12,13。。。,还是应该先理解在使用,这样可以达到学习的正真目的。
关于JTable的排序和过滤
要点概述:
1、设置模式,一般为默认的模型,或是一个继承AbstractTableModel的类,模式中添加行和列, 列为一维数组实现的,行为二维数组实现的。
2、需要排列是给它一个排列对象, 然后以相同的模型实现就可以实现。
3、【table的注意】
第一点: 继承abstractTableModel,并且在实现的方法中重载getcolumnName就可以得到
类的名字,并以此模式对象为模式创建的表会自动添加列名(但现在还不会显示)
第二点:将jtable加入到jscropanel中就可以显示刚才加入的列名
看点代码:
public String getColumnName(int column) {
// TODO Auto-generated method stub
return this.columns.get(column).toString();
}
下面的代码演示的是在一个设置好的Table中设置颜色
// 设置表的显示红色效果等
for (int i = 0; i < 6; i++) {
TableColumn col = table.getColumnModel().getColumn(i);
col.setCellRenderer(new SetBorderColor());
}
TableColumn col7 = table.getColumnModel().getColumn(6);// 最后一列
这是一篇讲解JTble的日志
其他代码找到后不上,后续也会添加一些自己的体会,
这篇关于关于jTable的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!