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

利用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按钮,实现在表尾增加行, 在表右侧增加列,删除选择的行和删除指 定的列的功能。


相关文章:
学生信息系统
作为计算机 应用的一部分,使用计算机对学生档案信息...(url, username, password);//建立连接 } } } ...对应库中表的字段 protected JTable resultTable;//...
学生信息管理系统
/*使用前请先建一个数据库放在同一个文件夹下,名...("select * from 学生信息表"); }else { ...JTable t; JPanel p1,p2,p3,p4,p5; DefaultTable...
学生信息的增删改查(java)
学生信息的增删改查(java)_计算机软件及应用_IT/计算机...表的所有信息 f2=new JFrame("显示信息"); f2....利用循环获得所有记录 JTable jTable = new JTable(...
学生学籍管理系统
选题背景长期以来,学校对学生学籍的管理都还使用着...(2) s_information 表用于记录学生基本信息 字段名...JTable table=new JTable(playerInfo, Names); table...
学生信息管理系统课程设计
然后对姓名、性别和专业等进行修改; (3)使用文件...学生信息表 图 3.管理员表 4.2.3 运行调试 图 ...{ public JTable table = new JTable(); Icon ...
学生管理系统实验报告
并熟练的使用 二、 实验设备(环境)及要求操作系统 ...表 1 学生信息表(Student) 名称 学号 学生密码 ...将学生信息显示在 Jtable 中, 以下是该模块的运行...
学生个人信息管理系统 (JAVA课程设计2011)
3 使用前请先建一个数据库放在同一个文件夹下, 名为 分别为:学生信息表和...{ public JTable table = new JTable(); public DefaultTableModel mm ; ...
实践教学
满足学生成绩管理服务相关人员日常使用的需要, 并达到...应用 SQL 进行数据库和数据表的建立,做好的界面和...使得添 加的数据信息能够在信息界面的 JTable 表格...
学生成绩管理系统
分类法所创建的三级目录编码与名称的对应表: C1 C2...jTable, jTree, jScrollPane, jPanel, jSplitPane, jToolBar...学生成绩管理信息系统业... 5页 2下载券 学生...
第六次实验
使用 String 类的 compareTo 方法。 1)、定义学生...创建一个测试类 public class Ex1_2{ public ...[7]; JTable table=new JTable(rows,cols); ...
更多相关标签:
mysql创建学生信息表 | oracle创建学生信息表 | sql 创建学生信息表 | 数据库创建学生信息表 | 创建学生信息表 | mysql创建员工信息表 | sql 创建用户信息表 | mysql创建用户信息表 |