《JTable是Swing编程中很常用的控件.doc》由会员分享,可在线阅读,更多相关《JTable是Swing编程中很常用的控件.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅. 一.创建表格控件的各种方式:1) 调用无参构造函数.JTable table = new JTable();2) 以表头和表数据创建表格.Object cellData = row1-col1, row1-col2,row2-col1, row2-col2;String columnNames = col1, col2; JTable table = new JTable(cellData, columnNames);3) 以表头和表数据创建表格,并且让表单元格不可改.String headers = 表头一, 表头
2、二, 表头三 ;Object cellData = null;DefaultTableModel model = new DefaultTableModel(cellData, headers) public boolean isCellEditable(int row, int column) return false; ;table = new JTable(model);二.对表格列的控制1) 设置列不可随容器组件大小变化自动调整宽度.table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);2) 限制某列的宽度.TableColumn firset
3、Column = table.getColumnModel().getColumn(0);firsetColumn.setPreferredWidth(30);firsetColumn.setMaxWidth(30);firsetColumn.setMinWidth(30);3) 设置当前列数.DefaultTableModel tableModel = (DefaultTableModel) table.getModel();int count=5;tableModel.setColumnCount(count);4) 取得表格列数int cols = table.getColumnCoun
4、t();5) 添加列DefaultTableModel tableModel = (DefaultTableModel) table.getModel();tableModel.addColumn(新列名);6) 删除列table.removeColumn(table.getColumnModel().getColumn(columnIndex);/ columnIndex是要删除的列序号三.对表格行的控制1) 设置行高table.setRowHeight(20);2) 设置当前航数DefaultTableModel tableModel = (DefaultTableModel) table
5、.getModel();int n=5;tableModel.setRowCount(n);3) 取得表格行数int rows = table.getRowCount();4) 添加表格行DefaultTableModel tableModel = (DefaultTableModel) table.getModel();tableModel.addRow(new Objectsitinspring, 35, Boss);5) 删除表格行DefaultTableModel tableModel = (DefaultTableModel) table.getModel();model.remov
6、eRow(rowIndex);/ rowIndex是要删除的行序号四.存取表格单元格的数据1) 取单元格数据DefaultTableModel tableModel = (DefaultTableModel) table.getModel();String cellValue=(String) tableModel.getValueAt(row, column);/ 取单元格数据,row是行号,column是列号2) 填充数据到表格.注:数据是Member类型的链表,Member类如下:public class Member / 名称 private String name; / 年龄 pri
7、vate String age; / 职务 private String title;填充数据的代码:public void fillTable(List members) DefaultTableModel tableModel = (DefaultTableModel) table .getModel(); tableModel.setRowCount(0);/ 清除原有行 / 填充数据 for(Member member:members) String arr=new String; arr0=member.getName(); arr1=member.getAge(); arr=mem
8、ber.getTitle(); / 添加数据到表格 tableModel.addRow(arr); / 更新表格 table.invalidate();2) 取得表格中的数据public List getShowMembers() List members=new ArrayList(); DefaultTableModel tableModel = (DefaultTableModel) table .getModel(); int rowCount=tableModel.getRowCount(); for(int i=0;i1) int selRowIndexs=table.getSel
9、ectedRows();/ 用户所选行的序列 for(int i=0;iselRowIndexs.length;i+) / 用tableModel.getValueAt(row, column)取单元格数据 String cellValue=(String) tableModel.getValueAt(i, 1); 六.添加表格的事件处理view.getTable().addMouseListener(new MouseListener() public void mousePressed(MouseEvent e) / 鼠标按下时的处理 public void mouseReleased(MouseEvent e) / 鼠标松开时的处理 public void mouseEntered(MouseEvent e) / 鼠标进入表格时的处理 public void mouseExited(MouseEvent e) / 鼠标退出表格时的处理 public void mouseClicked(MouseEvent e) / 鼠标点击时的处理 );