已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用JTable创建学生信息表,四、预备知识,JTable简介,JTable,创建、显示和管理表格,四、预备知识,(1)创建所显示的数据的一个数组。(2)创建列标题的一个数组。(3)创建JTable的一个实例(对象),指定数据和标题。(4)在多数情况下,需要设置可滚动的视口(窗口)的大小。这可通过调用setPreferredScrollableViewportSize()方法完成。,显示JTable中数据的基本步骤,四、预备知识,(5)可以调用setSelectionMode()改变选择模式。(6)默认情况下,用户能够选择一行。要允许选择列或单元格,可以使用setColumnSelectionAllowed(),setRowSelectionAllowed()或setCellSelectionEnable()。(7)创建一个JScrollPane,指定JTable为要滚动的组件。,用JTable类创建表格,JTable的构造方法(1)JTable(Objectdata,ObjectheaderNames):自动创建一个表,容纳data中指定的数据,并具有headerNames指定的标题名data数组是二维的,第一维指定表中的行数,第二维指定每一行中的元素数量。在所有的情况下,每一行的长度必须等于headerNames的长度。,(2)JTable(TableModeldm)自动创建一个表,有默认的字段模式以及选择模式,并设置表格模式。参数dm表示指定的表格模式。,JTable不提供滚动能力,但是表通常被包含在JScrollPane中。JScrollPane滚动条对象=newJScrollPane(表格对象);设置滚动视口的大小:使用setPreferredScrollableViewportSize()方法,格式为:voidsetPreferredScrollableViewportSize(Dimensiondim)其中,dim指定滚动区域的大小,它继承自AbstractTableModel抽象类而来。DefaultTableModel的常用构造方法为:DefaultTableModel(Objectdata,ObjectheaderNames)这个构造方法自动创建了一个DefaultTableModel实例,并初始化表。,DefaultTableModel类,例701创建一个用于显示表格数据的框架,目前尚无表格例702在上一例框架中添加表格,并设置滚动条。,调整表格列宽,使用JTable的setAutoResizeMode()方法:voidsetAutoResizeMode(intmode)其中参数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在上一例表格中设置每一列的宽度,为列添加组合框,在类中定义一个组合框对象JComboBoxc1=newJComboBox();在构造方法中添加项目c1.addItem(信息);为列添加组合框setCellEditor()方法:用于为列添加组件,()中参数指定组件对象名如:为索引为2的列添加组合框table.getColumnModel().getColumn(2).setCellEditor(newDefaultCellEditor(c1);例704,为表格添加数据修改按钮,为SimpleTable类添加两个文本框成员,一个用于填写要删除列的序号,另一个用于填写要增加列的标题。源码如下所示:JTextFieldt1,t2;在构造方法中,将上面定义的文本框连同两个标签添加到框架的南部,并设置背景色。,定义4个JButton按钮,并把它们添加到框架的北部定义ActionListener接口中处理按钮事件的方法actionPerformed(),DefaultTableModel类的常用方法,getColumnCount()方法:返回DefaultTableModel类中的列数(表格列数)intgetColumnCount()getRowCount()方法:返回DefaultTableModel类中的行数(表格行数)intgetRowCount(),addColumn()方法:将一列添加到表格模型中voidaddColumn(ObjectcolumnName)参数columnName表示要添加的列的标识符,它可以为nulladdRow()方法:添加一行到表格模型的结尾;voidaddRow(VectorrowData)参数rowData表示要添加的行数据(可选),如果未指定rowData,则新行将包含null值。,removeColumn()方法:移除表格模型中指定位置上的列voidremoveRow(Objectcolumn)参数column表示要移除的列的索引removeRow()方法:移除表格模型中指定位置上的行voidremoveRow(introw)参数row表示要移除的行的索引,JTable类的常用方法,getColumnCount()方法:获得列模型中的列数。注意,这可能与表模型中的列数不同。intgetColumnCount()getColumnName()方法:获得出现在视图中指定列位置处的列名称StringgetColumnName(intcolumn)参数column为在视图中指定的要查询的列。,getRowCount()方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SXJP 063-2023桃红葡萄酒
- T/SZAA 002-2024车身域控制器通用功率驱动装置测试规程
- T/DZJN 434-2025分布式调相机型式试验导则
- T/CI 1254-2025纯钛保温壶杯
- T/BZJK 27-2024疗养式养老服务基本规范
- T/COEMA 109S-2021LED显示屏 术语和定义
- AI在社会学中的应用
- 2025~2026学年安徽毫州市利辛县北师大版三年级下册数册末试卷【附答案】
- 2026学年山西省朔州市四年级语文期末提升素养提升题(附答案)详细答案和解析
- PHP开发工程师笔试真题(含详细答案)
- DB11T 2543-2026花坛花境植物景观营造与养护技术规程
- 2026年杭州市实业投资集团有限公司人员招聘考试参考试题及答案详解
- 自考00688设计概论高频考点重点
- 2026杭州水务集团笔试题库及答案
- 桩间挡土板墙工程专项施工方案
- 第9课《谈骨气》课件
- 日语N5语法练习加详解
- 成本实操-印制电路板(PCB)行业成本核算报表实例
- 2026广东江门市广悦化工股份有限公司招聘5人考试备考试题及答案解析
- 2026年工程管理高级工程师职称答辩真题及答案
- 艾灸护理创新技术应用
评论
0/150
提交评论