JTable常用操作及DefaultTableModel简单使用

一、JTable常用操作

设置表格的表头不显示

设置表格带滚动条

设置表格失去焦点后取消编辑状态

设置表格为选中

给表格添加监听事件

//设置表格的表头不显示
JTable jTable= new JTable();
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setPreferredSize(new Dimension(0, 0));
jTable.getTableHeader().setDefaultRenderer(renderer);

//设置表格带滚动条,只需将表格放进滚动面板中
JScrollPane jsp = new JScrollPane(jTable);
jsp.setPreferredSize(new Dimension(width, height));//设置首选大小,超过改大小开始滚动

//设置表格失去焦点后取消编辑状态
jTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

//设置start到end行为选中状态,start=end设置某一行为选中
jTable.addRowSelectionInterval(start, end)
//设置start到end列为选中状态,start=end设置某一列为选中
jTable.addColumnSelectionInterval(start, end);

//给表格添加监听事件
DefaultTableModel d=new DefaultTableModel(new Object[][]{}, new String[]{""});
JTable table=new JTable(d);
        d.addTableModelListener(new TableModelListener() {
            @Override
            public void tableChanged(TableModelEvent e) {
                //e.getFirstRow()获取首个改变的行
                //e.getLastRow()获取最后改变的行
                //若只改变一行则两者相同
                //e.getColumn()获取改变的列
                if (e.getType() == 1){
                    //e = 1 添加行或列触发的事件
                } else if (e.getType() == 0) {
                    //e = 0 修改表格内容触发的事件
                }else if(e.getType() == -1){
                    //e = -1 删除行或列触发的事件
                }

            }
});

 二、DefaultTableModel的简单使用

        //DefaultTableModel用法
        
        //1、声明表格模型DefaultTableModel
        //第一个参数为二维数组表示表格数组,第二个参数为一维数组代表列名。
        DefaultTableModel dtm=new DefaultTableModel(new Object[][]{}, new String[]{""});
        
        //2、创建表格,并设置模型
        JTable table=new JTable(dtm);

        dtm.getRowCount();//获取表格的总行数
        dtm.getColumnCount();//获取表格的总列数
        dtm.getValueAt(row,col);//获取指定行指定列的单元格内容
        dtm.setValueAt(value,row,col);//设置指定行和列的值
        
        //遍历表格内容
        for (int i=0;i<dtm.getRowCount();i++){
            for (int j=0;j<dtm.getColumnCount();j++){
                Object valueAt = dtm.getValueAt(i, j);
            }
        }

        dtm.addRow(new String[]{});//添加行
        dtm.removeRow(row);//删除指定行
        dtm.setRowCount(0);//删除表格数据

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值