java Swing 在table中添加复选框

 table = new JTable();
  table.setModel(new DefaultTableModel(
    new Object[][] { null, null, null,null, null,null }, new String[] { "编号",
      "姓名", "邮箱","电话","地址","是否选中"}));
  //给table最后一列加上复选框 getColumn(i)相当于String[i] 表示是一列;
  TableColumn tc = table.getColumnModel().getColumn(5);
  tc.setCellEditor(table.getDefaultEditor(Boolean.class));
  tc.setCellRenderer(table.getDefaultRenderer(Boolean.class));
  //tc.
  
  table.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseClicked(MouseEvent arg0) {
    int selectRows = table.getSelectedRows().length;// 取得用户所选行的行数
    DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
    if (selectRows != -1) {
     int selectedRowIndex = table.getSelectedRow(); // 取得用户所选单行
     idTxt.setText(tableModel.getValueAt(selectedRowIndex, 0).toString());
     nameTxt.setText(tableModel.getValueAt(selectedRowIndex,1).toString());
     emailTxt.setText(tableModel.getValueAt(selectedRowIndex,2).toString());
     telTxt.setText(tableModel.getValueAt(selectedRowIndex,3).toString());
     addressTxt.setText(tableModel.getValueAt(selectedRowIndex,4).toString());
     boolean  isselect=(Boolean) tableModel.getValueAt(selectedRowIndex,5);
     radioYes.setSelected(isselect);
     radioNo.setSelected(!isselect);
     // System.out.print(selectedRowIndex);
    }
   }
  });
  TableColumnModel tcm = table.getColumnModel();
  // 设置列宽
  tcm.getColumn(2).setPreferredWidth(150);
  // tcm.getColumn(1).setMaxWidth(80);
  // tcm.getColumn(2).setMaxWidth(80);
  // JTbale数据居中显示
  DefaultTableCellRenderer r = new DefaultTableCellRenderer();
  r.setHorizontalAlignment(SwingConstants.CENTER);
  table.setDefaultRenderer(Object.class, r);
  //添加表格数据
  fillTable();

  // table.setPreferredScrollableViewportSize(new Dimension(450, 350));
  JScrollPane scrollPane = new JScrollPane(table);
  scrollPane.getViewport().setBackground(Color.WHITE);
  add(scrollPane, BorderLayout.CENTER);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值