当前位置:首页 >> 其它课程 >>

利用JTable创建学生信息表


利用JTable 创建学生信息表

四、预备知识
JTable简介
创建、显示和 管理表格

JTable
Swing中功能 最强大的单一 组件 发挥其全部潜 能的最富挑战 性的组件之一 支持许多复杂 的定制 位于 javax.swing 包中

四、预备知识
显示JTable

中数据的基本步骤
(1) 创建所显示的数据的一个数组。 (2) 创建列标题的一个数组。

(3) 创建JTable的一个实例(对象),指定数据和标题。
(4) 在多数情况下,需要设置可滚动的视口(窗口)的大小。 这可通过调用setPreferredScrollableViewportSize()方法 完成。

四、预备知识
(5) 可以调用setSelectionMode()改变选择模式。 (6) 默认情况下,用户能够选择一行。要允许选择列或单

元格,可以使用setColumn SelectionAllowed(),
setRowSelectionAllowed() 或setCellSelectionEnable()。 (7) 创建一个JScrollPane,指定JTable为要滚动的组件。

用JTable类创建表格
? JTable的构造方法
? (1)JTable(Object[][] data, Object[]

headerNames):
? 自动创建一个表,容纳data中指定的数据,并具有

headerNames指定的标题名 ? data数组是二维的,第一维指定表中的行数,第二 维指定每一行中的元素数量。在所有的情况下,每 一行的长度必须等于headerNames的长度。

? (2)JTable(TableModel dm)
? 自动创建一个表,有默认的字段模式以及选择模式,

并设置表格模式。参数dm表示指定的表格模式。

? JTable不提供滚动能力,但是表通常被包含在 JScrollPane中。
? JScrollPane 滚动条对象=new JScrollPane(表格对

象); ? 设置滚动视口的大小:使用 setPreferredScrollableViewportSize()方法,格式为:
? void setPreferredScrollableViewportSize(Dimension

dim) ? 其中,dim指定滚动区域的大小

DefaultTableModel类
? 它继承自AbstractTableModel抽象类而来。 ? DefaultTableModel的常用构造方法为:
? DefaultTableModel(Object[][] data , Object[]

headerNames)
? 这个构造方法自动创建了一个

DefaultTableModel实例,并初始化表。

? 例701 创建一个用于显示表格数据的框架, 目前尚无表格 ? 例702 在上一例框架中添加表格,并设置 滚动条。

调整表格列宽
? 使用JTable的setAutoResizeMode()方法:
? void setAutoResizeMode(int mode) ? 其中参数mode必须是以下5个之一: ? AUTO_RESIZE_SUBSEQUENT_COLUMENS:表示当调整 某一列宽时,此字段之后的所有字段列宽都会跟着一起变动。 此为系统默认值。 ? AUTO_RESIZE_ALL_COLUMNS:表示当调整某一列宽时, 此表格上所有字段的列宽都会跟着一起变动。 ? AUTO_RESIZE_OFF:表示当调整某一列宽时,此表格上所 有字段列宽都不会跟着改变。 ? AUTO_RESIZE_NEXT_COLUMN:表示当调整某一列宽时, 此字段的下一个字段的列宽会跟着改变,其余均不会变。 ? AUTO_RESIZE_LAST_COLUMN:表示当调整某一列宽时, 最后一个字段的列宽会跟着改变,其余均不会改变。

? 设置表格每列的宽度的方法:
? 利用JTable中的getColumnModel()方法取得

TableColumnModel对象 ? 利用TableColumnModel接口所定义的 getColumn()方法取得TableColumn对象(即 表列) ? 利用此对象的setPreferredWidth()方法可以 控制字段的宽度。

? 例703 在上一例表格中设置每一列的宽度

为列添加组合框
? 在类中定义一个组合框对象
? JComboBox c1 = new JComboBox();

? 在构造方法中添加项目
? c1.addItem("信息");

? 为列添加组合框
? setCellEditor()方法:用于为列添加组件,()中参数指

定组件对象名 ? 如:为索引为2的列添加组合框 table.getColumnModel().getColumn(2).setCellEdit or(new DefaultCellEditor(c1));

? 例704

为表格添加数据修改按钮
? 为SimpleTable类添加两个文本框成员, 一个用于填写要删除列的序号,另一个用 于填写要增加列的标题。源码如下所示:
? JTextField t1,t2;

? 在构造方法中,将上面定义的文本框连同 两个标签添加到框架的南部,并设置背景 色。

? 定义4个JButton按钮,并把它们添加到框 架的北部 ? 定义ActionListener接口中处理按钮事件 的方法actionPerformed()

DefaultTableModel类的常用方法
? getColumnCount()方法:
? 返回DefaultTableModel类中的列数(表格列数) ? int getColumnCount()

? getRowCount()方法:
? 返回DefaultTableModel类中的行数(表格行数) ? int getRowCount()

? addColumn()方法:
? 将一列添加到表格模型中 ? void addColumn(Object columnName) ? 参数columnName表示要添加的列的标识符,它可以

为null

? addRow()方法:
? 添加一行到表格模型的结尾; ? void addRow(Vector rowData) ? 参数rowData表示要添加的行数据(可选),如果未指

定rowData,则新行将包含null值。

? removeColumn ()方法:
? 移除表格模型中指定位置上的列 ? void removeRow(Object column)

? 参数column表示要移除的列的索引

? removeRow()方法:
? 移除表格模型中指定位置上的行 ? void removeRow(int row) ? 参数row表示要移除的行的索引

JTable类的常用方法
? getColumnCount()方法:
? 获得列模型中的列数。注意,这可能与表模型

中的列数不同。 ? int getColumnCount()

? getColumnName()方法:
? 获得出现在视图中指定列位置处的列名称 ? String getColumnName(int column) ? 参数column为在视图中指定的要查询的列。

? getRowCount()方法:
? 获得JTable中可以显示的行数 ? int getRowCount()

? revalidate()方法:
? 对组件进行重新布局一次,用于组件被修改后

? 例705 为在模块1中制作的JTable表格添 加4个JButton按钮,实现在表尾增加行, 在表右侧增加列,删除选择的行和删除指 定的列的功能。


相关文章:
Java课程设计 学生信息管理系统
Java课程设计 学生信息管理系统_计算机软件及应用_IT...一开始我在 inputdata() 方法中加了 JTable1.set...库中建立了一张 “专业”表和一张“班级”表,从...
学生信息的增删改查(java)
学生信息的增删改查(java)_IT/计算机_专业资料。java...表的所有信息 f2=new JFrame("显示信息"); Driver...利用循环获得所有记录 JTable jTable = new JTable(...
java学生信息管理系统+代码
s(学生信息表) 字段名称 sno sn sa ss sd 字段...学生信息管理系统可由管理员和学生两种身份的人使用...();; JTable sTable; JScrollPane scroll; ...
学生信息管理系统java课程设计(含源代码)_图文
但一直以来人们使用传统人工的方式管理 文件档案、...数据库关系模型——二维表 表 1 学生表(student) ...JTable jtb 定义一个表格,用于显示登 陆用户信息 ...
Java课程设计 学生信息管理系统+代码
Java课程设计 学生信息管理系统+代码_工学_高等教育...在查询分析器中创建表 CREATE TABLE Student (StuID...(); JTable sTable; JScrollPane scroll; Connection...
学生个人信息管理系统 (JAVA课程设计2011)
3 使用前请先建一个数据库放在同一个文件夹下, 名为 分别为:学生信息表和...{ public JTable table = new JTable(); public DefaultTableModel mm ; ...
学生信息管理系统java课程设计
学生信息表 图 b.管理员表 4.2.3 运行调试 6 ...{ public JTable table = new JTable(); Icon ...出来的软件就更接近平时使用的软件了, 不过由于平时...
java学生信息管理系统+代码
s(学生信息表) 字段名称 sno sn sa ss sd 字段...学生信息管理系统可由管理员和学生两种身份的人使用...();; JTable sTable; JScrollPane scroll; ...
java学生信息管理系统
3、充分利用互联网资源,提高学生获取知识,研究知识,...table ; // JTable 用来显示和编辑常规二维单元表...// 设置面板背景图片// 创建背景面板 this.setBackground...
JAVA课程设计,基于mysql的学生信息管理系统
2. 要求使用 JAVA 和 MySQL 开发一个学生信息管理...1) 学生成绩表 包含对 学生基本信息表 和 课程...实现方法 1) 建立 JFrame,JTable,JButton 等工具; ...
更多相关标签:
数据库创建学生信息表 | mysql创建学生信息表 | sql 创建学生信息表 | 创建学生信息表 | mysql创建员工信息表 | 创建课程信息表 | 数据库创建员工信息表 | 数据库创建个人信息表 |