`

JDK6的新特性之十三:JTable的排序和过滤

 
阅读更多
JDK6的新特性之十三:JTable的排序和过滤

原来的JTable基本上是只能显示数据,在JDK6新增了对JTable的排序和过滤功能,下面代码演示了这两个功能

/**
*@authorchinajash
*/
publicclassJTableTester{
staticStringdata[][]={
{"China","Beijing","Chinese"},
{"America","Washington","English"},
{"Korea","Seoul","Korean"},
{"Japan","Tokyo","Japanese"},
{"France","Paris","French"},
{"England","London","English"},
{"Germany","Berlin","German"},
};
staticStringtitles[]={"Country","Capital","Language"};
publicstaticvoidmain(String[]args){
DefaultTableModelm=newDefaultTableModel(data,titles);
JTablet=newJTable(m);
finalTableRowSortersorter=newTableRowSorter(m);
t.setRowSorter(sorter);//为JTable设置排序器

JScrollPanesPane=newJScrollPane();
sPane.setViewportView(t);

JPanelp=newJPanel();
p.setLayout(newBoxLayout(p,BoxLayout.X_AXIS));
JLabell=newJLabel("Criteria:");
finalJTextFieldtf=newJTextField();
JButtonb=newJButton("DoFilter");
p.add(l);
p.add(tf);
p.add(b);
b.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(tf.getText().length()==0){
sorter.setRowFilter(null);
}else{
sorter.setRowFilter(RowFilter.regexFilter(tf.getText()));//为JTable设置基于正则表达式的过滤条件
}
}
});

JFramef=newJFrame("JTableSortingandFiltering");
f.getContentPane().add(sPane,BorderLayout.CENTER);
f.getContentPane().add(p,BorderLayout.SOUTH);
f.setSize(400,300);
f.setVisible(true);
}
}
运行上面程序,单击JTable的某一个title,这个title对应的列就会按照升序/降序重新排列;在下面的Criteria文本框中输入"ese",点击"DoFilter"按钮,JTable将只显示带有"ese"字符串的行,也就是China和Japan两行,如果文本框里面什么都没有,点击"DoFilter"按钮,这时JTable会显示所有的行。
分享到:
评论

相关推荐

    JDK1.6新特性与实战例子

    JDK6的新特性之一:Desktop类和SystemTray类 JDK6的新特性之二:使用JAXB2来实现对象与XML之间的映射 JDK6的新特性之三:理解StAX StAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API JDK6的新特性...

    JDK+6.0+ZH+API.chm.zip

    JDK6的新特性 JDK6的新特性之一_Desktop类和SystemTray类 JDK6的新特性之二_使用JAXB2来实现对象与XML之间的映射 ...JDK6的新特性之十三_JTable的排序和过滤 JDK6的新特性之十二_脚本语言支持

    JDK7新特性(完整篇)

    1.3 JDK7新特性<三> JDBC4.1 . . . . . . . . . . 1.4 JDK7新特性<四> NIO2.0 文件系统 . . . 1.5 JDK7新特性<五> fork/join 框架 . . . . . 1.6 JDK7新特性<六> 监听文件系统的更改 1.7 JDK7新特性<七> 遍历...

    JDK6的新特性

    JDK6的新特性JDK6的新特性

    JDK8新特性(pdf版)

    JDK8新特性(pdf版)

    jdk8新特性

    jdk8新特性,百度云盘。jdk8新特性,百度云盘。jdk8新特性,百度云盘。

    JDK6的新特性(DOC)

    JDK6的新特性,WORD版本的。JDK6

    jdk1.8新特性.doc

    本文主要介绍了JDK1.8版本中的一些新特性,仅供参考。 jdk1.8新特性知识点: 1、Lambda表达式 2、函数式接口 3、方法引用和构造器调用 4、Stream API 5、接口中的默认方法和静态方法 6、新时间日期API

    jdk5.0新特性

    jdk5.0新特性介绍

    jdk5、jdk6新特性系统介绍.chm

    jdk5、jdk6新特性系统介绍.chm 系统、全面 本人自己整理的资料

    JDK1.5新特性

    JDK1.5新特性

    jdk1.5新特性

    转载 jdk1.5的一些新特性,希望能帮助大家!

    jdk8新特性.md

    jdk8新特性.md

    jdk6新特性介绍

    NULL 博文链接:https://strength-java.iteye.com/blog/1244812

    JDK8新特性

    根据尚硅谷JDK8的课程讲解,深入理解后整理而出的JDK8笔记手册。可以从入门到精通的掌握JDK8新特性

    jdk8新特性例子

    Jdk8新特性例子,内容包含 接口默认方法, 函数引用, java.util.stream api 和java.time api map的新增方法等。例子采用记事本编写,下载者需自行下载jdk8安装并配置好环境,编译(javac)运行(java)

    jdk1.8新特性

    JDK1.8新特性简介剖析,仅做参考,希望大家相互学习 作为Comparator 和Runnable早期的证明,在JDK中已经定义的接口恰巧作为函数接口而与lambdas表达式兼容。同样方式可以在你自己的代码中定义任何函数接口或第三方...

    尚硅谷JDK1.8 新特性 培训PPT

    视频教程地址:http://www.gulixueyuan.com/course/56

    jdk1.8 新特性.docx

    jdk1.8新特性知识点: Lambda表达式 函数式接口 *方法引用和构造器调用 Stream API 接口中的默认方法和静态方法 新时间日期API

Global site tag (gtag.js) - Google Analytics