天天看點

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