Java JTable详解与实例
5星 · 超过95%的资源 需积分: 12 153 浏览量
更新于2024-07-28
3
收藏 89KB DOC 举报
"这篇文档详细介绍了Java中JTable组件的使用方法,包括各种构造函数的解释和示例代码,旨在帮助开发者更好地理解和操作Java表格。"
在Java Swing库中,JTable是一个重要的组件,用于展示二维数据集,常用于创建用户界面中的表格视图。下面我们将深入探讨JTable的使用方法。
1. JTable构造函数
- `JTable()`: 这个构造函数创建了一个新的JTable实例,使用系统默认的`TableModel`。
- `JTable(int numRows, int numColumns)`: 创建一个指定行数和列数的空表格,使用`DefaultTableModel`作为数据模型。
- `JTable(Object[][] rowData, Object[][] columnNames)`: 通过二维数组初始化表格,同时显示列名。
- `JTable(TableModel dm)`: 使用自定义的`TableModel`实例初始化表格。
- `JTable(TableModel dm, TableColumnModel cm)`: 设置数据模型和列模型,同时有默认的选择模型。
- `JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)`: 自定义数据模型、列模型和选择模型。
- `JTable(Vector rowData, Vector columnNames)`: 以Vector对象为数据源创建表格,可以显示列名。
2. 示例:使用Array构造JTable
下面的代码片段展示了如何使用二维数组和字符串数组创建一个简单的JTable:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class SimpleTable {
public SimpleTable() {
JFrame f = new JFrame();
Object[][] playerInfo = {
{"阿呆", new Integer(66), new Integer(32), new Integer(98), new Boolean(false)},
{"阿呆", new Integer(82), new Integer(69), new Integer(128), new Boolean(true)},
};
String[] names = {"姓名", "语文", "数学", "总分", "及格"};
JTable table = new JTable(playerInfo, names);
// ...
}
}
```
在这个例子中,`playerInfo`是包含数据的二维数组,`names`是列头名称。`JTable(playerInfo, names)`创建了一个表格,其中`playerInfo`用于填充数据,`names`作为列头显示。
3. 自定义行为和外观
- 事件监听:可以通过添加`MouseListener`, `KeyListener`或`ActionListener`等监听器来处理用户的交互事件,例如单元格点击或键盘输入。
- 表格模型:`TableModel`接口允许自定义数据存储和更新逻辑,例如`DefaultTableModel`是一个常用的实现,但也可以实现自己的`TableModel`类。
- 列模型:`TableColumnModel`允许调整列的宽度、隐藏和排序。
- 选择模型:`ListSelectionModel`控制用户选择行的行为,如单选或多选。
4. 其他功能
- 编辑单元格:默认情况下,JTable支持单元格的编辑,可通过`isCellEditable(row, column)`方法控制。
- 渲染和处理单元格:可以使用自定义的`TableCellRenderer`和`TableCellEditor`来改变单元格的显示效果和编辑行为。
- 表格排序:可以使用`TableRowSorter`对表格数据进行排序。
- 表格的滚动:通常将JTable放入`JScrollPane`中,以便在数据过多时提供滚动功能。
Java的JTable组件提供了丰富的功能,可以满足大多数表格展示和用户交互的需求。通过理解其构造函数和核心接口,开发者可以灵活地构建符合项目需求的表格视图。
1751 浏览量
871 浏览量
117 浏览量
267 浏览量
165 浏览量
622 浏览量
254 浏览量
498 浏览量
670 浏览量
幸福黑白猪
- 粉丝: 19
- 资源: 24
最新资源
- pid控制器代码matlab-bobb:光束在光束平衡器上控制项目。有关更多详细信息,请参见dvernooy.github.io/projec
- java接口自动化案例
- css3 checkbox美化单选按钮和复选按钮美化样式
- 行业文档-设计装置-一种具有可移动风扇的笔记本散热器.zip
- cerbo:我的脑子里有什么
- awesome-farming:精心制作的一切的精选链接列表
- 德阁html.zip
- pid控制器代码matlab-Modeling-and-controlling-of-Electrical-DC-motor::在MATLAB
- 中国风创意书画展古风海报背景水墨书法
- CQL-Formatting-and-Usage-Wiki:一个协作工作区,用于开发用于工件开发的CQL格式约定和使用模式。 带有CQL示例的烹饪之家,请访问Wiki了解更多
- generation03
- jolloniego.github.io
- 像素:方格像素
- pid控制器代码matlab-Motor-PID-Controller-using-Arduino-Matlab:使用Arduino和Matl
- 牧场系统可视化系统 娱乐系统
- androidone:图形界面草图库,用于设计Android one应用程序