版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java表格控件JTable常用操作详解 JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处. 一.创建表格控件的各种方式: 1) 调用无参构造函数.
2、; JTable table = new JTable(); 2) 以表头和表数据创建表格. Object cellData = "row1-col1", "row1-col2","row2-col1",
3、; "row2-col2" String columnNames = "col1", "col2"
4、0; JTable table = new JTable(cellData, columnNames); 3) 以表头和表数据创建表格,并且让表单元格不可改. String headers = "表头一", "表头二", "表
5、头三" ; Object cellData = null; DefaultTableModel model = new DefaultTableModel(cellData, headers)
6、 public boolean isCellEditable(int row, int column) return false;
7、; ; table = new JTable(model); 二.对表格列的控制 1) 设置列不可随容器组件大小变化自动调整宽度. &
8、#160; table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 2) 限制某列的宽度. TableColumn firsetColumn = table.getColumnModel().getColumn(0);
9、160; firsetColumn.setPreferredWidth(30); firsetColumn.setMaxWidth(30); firsetColumn.setMinWidth(30);
10、160; 3) 设置当前列数. DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); int count=5;
11、; tableModel.setColumnCount(count); 4) 取得表格列数 int cols = table.getColumnCount();
12、0; 5) 添加列 DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); tableModel.addColumn("新列名");
13、60; 6) 删除列 table.removeColumn(table.getColumnModel().getColumn(columnIndex);/ columnIndex是要删除的列序号
14、0; 三.对表格行的控制 1) 设置行高 table.setRowHeight(20); 2) 设置当前航数
15、 DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); int n=5; tableModel.setRowCount(n);
16、60; 3) 取得表格行数 int rows = table.getRowCount(); 4) 添加表格行
17、 DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); tableModel.addRow(new Object"sitinspring", "35", "Boss"); 5) 删除表格行
18、160; DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); model.removeRow(rowIndex);/ rowIndex是要删除的行序号
19、160; 四.存取表格单元格的数据 1) 取单元格数据 DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
20、 String cellValue=(String) tableModel.getValueAt(row, column);/ 取单元格数据,row是行号,column是列号 2) 填充数据到表格. 注
21、:数据是Member类型的链表,Member类如下: public class Member / 名称 pr
22、ivate String name; / 年龄 priva
23、te String age; / 职务 private S
24、tring title; 填充数据的代码: public void fillTable(List<Member> members)
25、 DefaultTableModel tableModel = (DefaultTableModel) table .getModel(); tableModel.setRowCount(0)
26、;/ 清除原有行 / 填充数据 for(Member member:members)
27、; String arr=new String3; arr0=member.getName(); arr1=
28、member.getAge(); arr2=member.getTitle(); &
29、#160; / 添加数据到表格 tableModel.addRow(arr); &
30、#160; / 更新表格 table.invalidate();
31、60; 2) 取得表格中的数据 public List<Member> getShowMembers() List<Member> members=new ArrayList<Member>();
32、0; DefaultTableModel tableModel = (DefaultTableModel) table .getModel();
33、; int rowCount=tableModel.getRowCount();
34、 for(int i=0;i<rowCount;i+) Member member=new Member(); &
35、#160; member.setName(String)tableModel.getValueAt(i, 0);/ 取得第i行第一列的数据 member.setAge(String)tabl
36、eModel.getValueAt(i, 1);/ 取得第i行第二列的数据 member.setTitle(String)tableModel.getValueAt(i, 2);/ 取得第i行第三列的数据
37、; members.add(member);
38、 return members; 五.取得用户所选的行 &
39、#160; 1) 取得用户所选的单行 int selectRows=table.getSelectedRows().length;/ 取得用户所选行的行数 DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
40、0; if(selectRows=1) int selectedRowIndex = table.getSelectedRow(); / 取得用户所选单行
41、; ./ 进行相关处理 2) 取得用户所选的多行 int
42、selectRows=table.getSelectedRows().length;/ 取得用户所选行的行数 DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); if(selectRows>1) &
43、#160; int selRowIndexs=table.getSelectedRows();/ 用户所选行的序列 for(int i=0;i<selRowIndexs.length;
44、i+) / 用tableModel.getValueAt(row, column)取单元格数据 String cellValue=(String) tableModel.getValueAt(i, 1);
45、 六.添加表格的事件处理 view.getTable().addMouseLis
46、tener(new MouseListener() public void mousePressed(MouseEvent e) / 鼠标按下时的处理 &
47、#160; public void mouseReleased(MouseEvent e) / 鼠标松开时的处理
48、160; public void mouseEntered(MouseEvent e) / 鼠标进入表格时的处理
49、160; public void mouseExited(MouseEvent e) / 鼠标退出表格时的处理
50、60; public void mouseClicked(MouseEvent e) / 鼠标点击时的处理
51、; );下面是详细代码:(连接的是sql server 2000数据库)import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;class DataFrame extends JFrame implements ActionListenerConnection con;Statement stmt;ResultSet rs;Object a;JButton bt_save;int i=0;Object header="学号","姓名","性别","年龄","邮箱"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铝板带铝箔生产责任制与操作规程
- 工程材料学期末考试题库及答案
- 甘肃天水市高职单招职业技能测试试题含答案
- 黑龙江鹤岗市高职单招职业技能测试考试试卷及答案
- 2026年儿科考试试题库及答案
- 译林版英语三年级下册期中复习专题02 语音选择题专项训练(含答案)
- 林下黄芩种植技术指导师岗位招聘考试试卷及答案
- 矿产勘查报告编撰工程师岗位招聘考试试卷及答案
- 网络安全技术标准解读与应用
- 能源管理监控操作手册
- 2026湖南衡阳日报社招聘事业单位人员16人备考题库附答案详解
- 《中国的地理区域划分》教案-2025-2026学年商务星球版(新教材)初中地理八年级下册
- 炎德·英才大联考长郡中学2026届高三月考(五)语文试卷(含答案解析)
- 生产厂长岗位职责与绩效考核方案
- 2025玉石加工行业创新设计市场竞争与市场发展前景规划
- 2025年天津市检察官、法官入员额考试真题(附答案)
- DB15∕T 3413-2024 住宅小区和商业用房供配电设施规范
- 化疗药物给药流程
- 2025年滨州邹平市面向社会公开招聘硕博士高层次人才笔试笔试备考试题附答案详解(精练)
- 2024年公务员多省联考《申论》题(湖南行政执法卷)试题及答案解析
- 企业代缴社保及公积金服务合同协议书
评论
0/150
提交评论