天天看点

java jtable组件_java中jtable组件详解实例

java jtable组件_java中jtable组件详解实例

java中jtable组件详解实例

java 表格控件 JTable 常用操作详解 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 = { “表头一“, “ 表头二“, “表头三 “ };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 firsetColumn = 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.getColumnCount();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.getModel();int n=5;tableModel.setRowCount(n);3) 取得表格行数int rows = table.getRowCount();4) 添加表格行DefaultTableModel tableModel = (DefaultTableModel) table.getModel();tableModel.addRow(new Object[]{“sitinspring“, “35“, “Boss“});5) 删除表格行DefaultTableModel tableModel = (DefaultTableModel) table.getModel();model.removeRow(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;// 年龄private 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[3];arr[0]=member.getName();arr[1]=member.getAge();arr[2]=member.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.getSelectedRows();// 用户所选行的序列for(int i=0;i