java Swing 在table中添加复选框

  • A+
所属分类:Java

java Swing 在table中添加复选框 - wsniba20092009的专栏 - CSDN博客

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);

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin