package jdk6;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.RowFilter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
/**
* Class Name: JTable<br>
* Description: 类功能说明<br>
* Sample: 该类的典型使用方法和用例<br>
* Author: fanggt<br>
* Date: Dec 8, 2012<br>
* --------------------------------------------------<br>
* 修改人 修改日期 修改描述<br>
* fanggt Dec 8, 2012 创建<br>
* --------------------------------------------------<br>
* @Version Ver1.0<br>
*/
public class JTableTester {
static String data[][] = {
{"China","Beijing","Chinese"},
{"America","Washington","English"},
{"Korea","Seoul","Korean"},
{"Japan","Tokyo","Japanese"},
{"France","Paris","French"},
{"England","London","English"},
{"Germany","Berlin","German"},
};
static String titles[] = {"Country","Capital","Language"};
public static void main(String[] args) {
DefaultTableModel m = new DefaultTableModel(data,titles);
JTable t = new JTable(m);
final TableRowSorter sorter = new TableRowSorter(m);
t.setRowSorter(sorter); //为JTable设置排序器
JScrollPane sPane = new JScrollPane();
sPane.setViewportView(t);
JPanel p = new JPanel();
p.setLayout(new BoxLayout(p,BoxLayout.X_AXIS));
JLabel l = new JLabel("Criteria:");
final JTextField tf = new JTextField();
JButton b = new JButton("Do Filter");
p.add(l);
p.add(tf);
p.add(b);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(tf.getText().length()==0){
sorter.setRowFilter(null);
}else{
sorter.setRowFilter(RowFilter.regexFilter(tf.getText()));//为JTable设置基于正则表达式的过滤条件
}
}
});
JFrame f = new JFrame("JTable Sorting and Filtering");
f.getContentPane().add(sPane,BorderLayout.CENTER);
f.getContentPane().add(p,BorderLayout.SOUTH);
f.setSize(400,300);
f.setVisible(true);
}
}
运 行上面程序,单击JTable的某一个title,这个title对应的列就会按照升序/降序重新排列;在下面的Criteria文本框中输
入"ese",点击"Do
Filter"按钮,JTable将只显示带有"ese"字符串的行,也就是China和Japan两行,如果文本框里面什么都没有,点击"Do
Filter"按钮,这时JTable会显示所有的行。
分享到:
相关推荐
JFrame frame = new JFrame("JTable实例"); frame.add(scrollPane); frame.pack(); frame.setVisible(true); ``` `JTable`还支持各种事件监听,比如选中单元格时的`CellSelectionListener`,或点击表格时的`...
`JTable`实例大全提供了各种实用示例,涵盖了`JTable`的高级功能,如合并表头和合并表格,这些功能在开发复杂的桌面应用程序时尤为关键。 1. **JTable基本用法**: `JTable`是基于`AbstractTableModel`的数据模型...
在Java Swing库中,JTree和JTable是两个非常重要的组件,它们被广泛用于构建用户界面,特别是处理数据展示和交互。JTree用于显示层次结构的数据,而JTable则适用于二维表格形式的数据展现。 首先,我们来深入了解...
- **实例化**:通过`new JTable(data, columnNames)`创建JTable实例,第一个参数是表格数据,第二个参数是列名数组。 - **列选择允许**:`table.setColumnSelectionAllowed(true)`表示允许用户只选中一列而不选中...
为了创建一个JTable实例,我们需要准备两个主要的数据结构:一个是表示列名的`String`数组,另一个是存储数据的二维对象数组。 ##### 示例代码分析 ```java // 定义列名 String[] columnNames = {"Product", ...
首先,我们来看如何创建JTable实例。有三种主要的方法: 1. **无参数构造函数**:`new JTable()`,这会创建一个空的表格。 2. **基于数据和列头构造**:`new JTable(cellData, columnNames)`,其中`cellData`是一个...
首先,我们需要创建一个 JTable 实例,然后使用 setRowHeight() 方法设置表格的行高。例如,下面的代码将创建一个 JTable 实例,并将其行高设置为 35: ```java JTable table = new JTable(); table.setRowHeight...
// 创建JTable实例 JTable table = new JTable(playerInfo, Names); table.setPreferredScrollableViewportSize(new Dimension(550, 30)); // 将JTable放入JScrollPane中,以实现滚动功能 JScrollPanel ...
通常,这样的数据会被封装到一个TableModel对象中,然后传递给JTable实例,用于展示部门信息。 总之,Java JTable是Swing GUI开发中的重要组成部分,它提供了丰富的功能来处理和展示表格数据。开发者可以通过深入...
### 三、使用JTable实例 在提供的文件中,`TableDemo.java`可能是展示如何创建和使用`JTable`的示例代码。可能包括加载数据、设置列宽、响应用户操作等。 `FriendDBOperatePane.java`可能是一个用于操作好友数据的...
4. **创建JTable实例**:使用`TableModel`实例创建`JTable`对象。 5. **添加到容器**:将`JTable`添加到Swing容器,如`JScrollPane`,以获得滚动功能。 ### jTable的特性与配置 1. **数据编辑**:默认情况下,...
通过`new JTable(data, columnNames)`创建JTable实例,即可将数据和列名关联起来。 JTable的布局和大小可以进行调整。例如,`table.setPreferredScrollableViewportSize(new Dimension(300, 80))`设定了表格的理想...
在这个“JAVA JTable使用实例”中,我们将深入探讨如何有效地利用`JTable`来显示和操作数据。 首先,`JTable`是`javax.swing.JTable`类的实例,它允许我们以表格的形式展示数据。这个实例可能包括创建一个`...
- 使用`new JTable(rows, columnHeads)`创建JTable实例。 - 设置表格大小,并将其放入`JScrollPane`中以便提供滚动功能。 - 最后,将`JScrollPane`添加到窗口的主容器中进行展示。 #### 三、选择JTable行并获取...
JTable增加删除按钮实例,用于java开发
在创建JTable实例时,你需要传入你的自定义TableModel实例。例如: ```java JTable table = new JTable(new Zippo()); ``` 接下来,你可能需要将JTable添加到JScrollPane中,以便在窗口中正确显示: ```java ...
以及一个JTable实例,作为视图显示这些数据。默认的TableModel是DefaultTableModel,它可以轻松地添加、删除和修改行。 在Java桌面编程中,JTable通常被放置在一个JScrollPane内,这样当表格的内容超出可视区域时,...
这个实例“java--JTable排序实例源码”提供了一个功能,允许用户通过点击表头对`JTable`中的数据进行排序。这种功能在处理大量数据时非常实用,使得用户能轻松地查看和理解数据。 首先,我们来深入了解一下`JTable`...