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