下面演示怎么动态过滤表格显示的内容
1importjavax.swing.*;
2importjavax.swing.table.*;
3importjava.awt.*;
4importjava.awt.event.*;
5importjava.util.regex.*;
6
7publicclassFilterTable{
8publicstaticvoidmain(Stringargs[]){
9Runnablerunner=newRunnable(){
10publicvoidrun(){
11JFrameframe=newJFrame("SortingJTable");
12frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
13Objectrows[][]={
14{"Abc","你",1d},
15{"AAB","我",2d},
16{"ABC","このページを印刷",3.14},
17{"BBB","hermit",3.14},
18{"BBC","0",1.3},
19{"AAA","!!!",93.02}
20};
21Stringcolumns[]={"英文测试","多语言测试","数字测试"};
22TableModelmodel=newDefaultTableModel(rows,columns){
23publicClassgetColumnClass(intcolumn){
24ClassreturnValue;
25if((column>=0)&&(column<getColumnCount())){
26returnValue=getValueAt(0,column).getClass();
27}else{
28returnValue=Object.class;
29}
30returnreturnValue;
31}
32};
33JTabletable=newJTable(model);
34finalTableRowSorter<TableModel>sorter=newTableRowSorter<TableModel>(
35model);
36table.setRowSorter(sorter);
37JScrollPanepane=newJScrollPane(table);
38frame.add(pane,BorderLayout.CENTER);
39JPanelpanel=newJPanel(newBorderLayout());
40JLabellabel=newJLabel("Filter");
41panel.add(label,BorderLayout.WEST);
42finalJTextFieldfilterText=newJTextField();
43filterText.addKeyListener(newKeyAdapter(){
44publicvoidkeyReleased(KeyEvente){
45Stringtext=filterText.getText();
46if(text.length()==0){
47sorter.setRowFilter(null);
48}else{
49try{
50sorter.setRowFilter(RowFilter
51.regexFilter(text));
52}catch(PatternSyntaxExceptionpse){
53System.err.println("Badregexpattern");
54}
55}
56}
57});
58
59panel.add(filterText,BorderLayout.CENTER);
60frame.add(panel,BorderLayout.NORTH);
61
62frame.setSize(300,250);
63frame.setVisible(true);
64}
65};
66EventQueue.invokeLater(runner);
67}
68}
69
效果不错吧,不过我还是喜欢swt多一点
分享到:
相关推荐
"快速进行JAVA_Table开发的表格"提供了一种高效的方法来实现这一功能,尤其适合初学者学习和测试。这个资源可能包含了一个名为"miniui_java"的压缩包,该包很可能是迷你UI(MiniUI)的一个Java版本,它是一个轻量级...
在Java EE(企业版Java)开发中,创建和绘制表格是一项常见的任务,特别是在构建Web应用程序时,例如报表系统、数据分析平台等。Java EE提供了一系列工具和技术来帮助开发者实现这一目标,使得表格不仅能够准确地...
GWT Advanced Table超越了标准的GWT表格控件,提供了更多的功能和定制选项,如分页、排序、过滤、自定义列格式化、拖放功能等。这个组件旨在提供高效的数据展示,同时保持良好的性能和用户体验。 ### 二、主要特性 ...
1. **表格布局**:使用`display`属性,如`table`、`table-row`、`table-cell`来控制表格元素的布局。 2. **单元格样式**:通过`border`、`padding`、`background-color`等属性设置单元格的边框、内边距和背景色。 ...
【标题】"基于Java的网页表格组件 GWT Advanced Table.zip" 涉及的主要知识点是Google Web Toolkit (GWT)的高级表格应用开发。GWT是一个开源的Java框架,允许开发者使用Java语言来编写客户端的Web应用程序,然后自动...
在这个"基于java的网页表格组件 GWT Advanced Table.zip"中,我们主要探讨的是如何使用GWT来实现一个功能丰富的表格组件。 GWT Advanced Table是一个强大的库,它扩展了GWT的基本Table类,提供了更多高级特性,如...
该库的核心功能包括动态表格布局、数据绑定、排序、过滤以及自定义单元格视图等,极大地简化了开发者的工作。 要使用SmartTable,你需要先在项目中引入它。如果你使用的是Gradle构建系统,可以在build.gradle文件的...
在JavaWeb开发中,Bootstrap Table常用于数据展示,它结合了Ajax技术,使得表格数据可以动态地从服务器获取,实现分页、排序、过滤等功能,大大提升了用户体验。 本实例的核心是利用Bootstrap Table的JavaScript库...
Java 源码:网页表格组件 GWT Advanced Table 是一个基于 Google Web Toolkit(GWT)开发的高级表格组件。GWT 是一个用于构建富互联网应用程序(RIA)的开放源码框架,它允许开发者使用 Java 语言来编写客户端的 ...
通过这个案例,开发者不仅可以学习到如何使用Bootstrap Table和Ajax构建动态数据表格,还能了解如何在JavaWeb环境中构建适应性良好的前端与后端交互。案例中的源码将提供完整的实现过程,帮助开发者深入理解这些技术...
Java中的`JTable`是Swing库中的一个关键组件,用于在GUI应用程序中展示数据的二维表格形式。它提供了一种灵活的方式,可以方便地显示、编辑和操作数据。在这个实例中,我们主要探讨`JTable`的使用,以及如何在Java...
SSM+BootstrapTable是一个常见的Java Web开发组合,用于构建功能丰富的、交互式的前端表格展示。SSM是指Spring、SpringMVC和MyBatis这三大框架的集成,它们一起提供了全面的后端服务处理能力,而BootstrapTable则是...
2. **数据获取**:获取表格中的原始数据。这可以通过JavaScript的DOM(Document Object Model)操作完成,例如,遍历表格的所有行和单元格,将数据存储在一个数组中。 3. **过滤逻辑**:根据用户输入创建一个过滤...
TableFilter可以是简单的文本输入框,也可以是下拉菜单,用户可以根据选定的条件过滤表格中的数据,只显示满足条件的行。这提高了数据查看的效率,尤其在处理大量数据时非常有用。 4. **ADF Faces Test**:这个...
网页表格组件GWT Advanced Table是Google Web Toolkit (GWT)框架中的一个高级表格实现,它提供了丰富的功能和自定义选项,使得在Web应用中展示和操作数据变得更加灵活和高效。GWT本身是一个开源的Java开发工具,允许...
2. **表格的样式和布局**: - CSS(层叠样式表)可以用来控制表格的样式,如边框、背景色、文字对齐等。使用 `border-collapse` 属性可以控制单元格边框合并,`border-spacing` 控制单元格之间的间距。 - 为了响应...
在Java后台处理HTML数据并转换成Excel文件是一个常见的...虽然这个技术可能还有待完善,但通过学习和实践,可以构建出稳定、高效的解决方案。在实际开发中,应结合项目需求,选择合适的工具和策略,以实现最佳效果。