swing中设置JTable的单元格不能被编辑、内容居中显示、隐藏JTable中的某一列

时间:2021-01-28 23:12:26

要使单元格不能被编辑,重写tableModel里面的isCellEditable即可,例如:

String[] strs = { "学号", "姓名", "性别", "年龄", "地址" };

DefaultTableModel dtm = new DefaultTableModel(strs, 0){
   public boolean isCellEditable(int row, int column) {
    // TODO Auto-generated method stub
    return false;//返回true表示能编辑,false表示不能编辑
   }   
  };

要使数据居中对齐:

DefaultTableCellRenderer   r   =   new   DefaultTableCellRenderer();  
r.setHorizontalAlignment(JLabel.CENTER);  
table.setDefaultRenderer(Object.class,   r);
table  为你JTABLE 的实例对象

隐藏JTable中的某一列:

//把第一列隐藏掉

DefaultTableColumnModel dcm = (DefaultTableColumnModel)table .getColumnModel();//获取列模型  
 dcm.getColumn(0).setMinWidth(0);  //将第一列的最小宽度、最大宽度都设置为0,就看不到了
 dcm.getColumn(0).setMaxWidth(0);