版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛心智心理医院2025年招聘备考题库有答案详解
- 2025年张家港市大新镇人民医院自主招聘编外合同制卫技人员备考题库及1套参考答案详解
- 职场技能提升工资福利管理员技能要求与面试题
- 跨文化交流与合作国际项目经理面试问题解析
- 教育顾问面试题及升学规划方案设计含答案
- 化工企业行政岗位面试题及答案解析
- 金融风险控制部门经理面试题及解析
- 金融行业面试题解析银行理财顾问岗位面试常见问题及答案
- 博物馆档案迁移员面试攻略及参考答案
- 宾馆前台面试题及答案
- 肺功能低下病人的麻醉处理原则
- 数字媒体艺术设计专业认知
- 物理●山东卷丨2024年山东省普通高中学业水平等级考试物理试卷及答案
- 提升会计职业素养的试题及答案
- 电动吸盘出租合同协议
- 胃穿孔的相关试题及答案
- 制药行业清洁生产标准
- 教育学原理知到智慧树章节测试课后答案2024年秋浙江师范大学
- 医学影像技术技士题库
- 2025年业务代表合作协议模板
- 2025年国家人民卫生出版社有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论