JTable的模型
2018-11-04 23:15:21开始写
模型类
1 import javax.swing.table.DefaultTableModel;//导入包 2 3 public class LocalTableModel extends DefaultTableModel {//继承 4 Class[] types = new Class[] {java.lang.String.class, java.lang.String.class};// 表头的类类型 5 boolean[] canEdit = new boolean[] {false, false};// 表头不可编辑 6 public LocalTableModel() {//无参构造函数 表格模型中的表头 7 super(new Object[][] {}, new String[] {"用户ID", "用户头像"});//第一个参数是表数据,第二个参数是一维数组,元素的表头 8 } 9 public Class getColumnClass(int columnIndex) {// 获得表头的类类型 10 return types[columnIndex];//返回java.lang.String.class 11 } 12 public boolean isCellEditable(int rowIndex, int columnIndex) {// 表头是否可编辑 13 return canEdit[columnIndex];//返回false 14 } 15 }
模型使用
1 JTable table;// 表格模型 2 ProductTableModel productModel = new ProductTableModel();// 商品信息表模板 3 table = new JTable(productModel);//实例化JTable对象,参数是表格模板 4 scrollPane.setViewportView(table);//添加到滚动面板中显示JTable 5 productModel.setRowCount(0);//清除表格模型中的原有行 6 JDBCUtil util = new JDBCUtil();//创建Java数据库连接工具包类对象 7 List<Product> list = util.getProductInfo();//用来存储信息的集合 8 for (int i = 0; i < list.size(); i++) {//遍历一遍list(挨个访问一次) 9 Product product = (Product) list.get(i);//通过列表的get方法获得第i个JavaBean对象 10 11 //model是JTable的模型,调用addRow方法,参数是一维数组,数组元素是JavaBean中的变量也是数据表中的字段值, 12 //且是通过JavaBean的get方法获得,最后添加到JTable中 13 productModel.addRow(new Object[] { product.getId(), product.getListID(), product.getProductID(), product.getSocket() }); 14 }
选择事件
1 int row = table.getSelectedRow();//选择某一行
2 userID = (String) table.getValueAt(row, 0);//获得某一行的第一个值
谢谢、Thank you、Salamat Do(撒拉玛特朵)、あリがCám o*n(嘉蒙)とゥ(阿里嘎都)、감사합니다 (勘三哈咪瘩)、terima Kasih(得力马卡系)、kob-khun(寇布库恩)、dhanyavaad(达尼阿瓦德)、toda(透达)、te?ekkür ederim(特谢库尔埃戴里姆)、Dzie,kuje(以库以而)、Spasibo(思巴喜柏)、Danke(但可)、shokran(休克朗)、Obrigada(欧布哩嘎搭)、dank u(当Q)、Merci(梅呵西)、Gracias(格拉喜亚思)、Grazie(格啦姬)、Благодарности、Tak、Kiitos、Díky、Hvala、Mul?umesc、Takk、Ευχαριστ