selectAllButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
table.selectAll();
}
});
buttonPanel.add(selectAllButton);
JButton clearSelectionButton = new JButton("取消选择");
clearSelectionButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
table.clearSelection();
}
});
buttonPanel.add(clearSelectionButton);
System.out.println("表格共有" + table.getRowCount() + "行"
+ table.getColumnCount() + "列");
System.out.println("共有" + table.getSelectedRowCount() + "行被选中");
System.out.println("第1行的选择状态是: " + table.isRowSelected(0));
System.out.println("第3行的选择状态是: " + table.isRowSelected(2));
System.out.println("被选中的第一行索引是: " + table.getSelectedRow());
int[] selectedRows = table.getSelectedRows();
System.out.print("所有被选中的行的索引是: ");
for (int row = 0; row < selectedRows.length; row++) {
System.out.print(selectedRows[row] + "\t");
}
System.out.println();
System.out.println("移动前第2列的名称是: " + table.getColumnName(1));
System.out.println("移动前第2行第2列的值是: " + table.getValueAt(1, 1));
table.moveColumn(1, 3);
System.out.println("移动后第2列的名称是: " + table.getColumnName(1));
System.out.println("移动后第2行第2列的值是: " + table.getValueAt(1, 1));
/* 维护表格模型 */
JPanel panelModel = new JPanel();
panelModel.add(new JLabel("A: "));
final JTextField aTextField = new JTextField("A4", 10);
panelModel.add(aTextField);
panelModel.add(new JLabel("B: "));
final JTextField bTextField = new JTextField("B4", 10);
panelModel.add(bTextField);
JButton addButton = new JButton("添加");
panelModel.add(addButton);
JButton updButton = new JButton("修改");
panelModel.add(updButton);
JButton delButton = new JButton("删除");
panelModel.add(delButton);
getContentPane().add(panelModel);
table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
int selectedRow=table.getSelectedRow();
selectedRow=table.convertRowIndexToModel(selectedRow);// because there exists sorting
Object oa=tableModel.getValueAt(selectedRow, 0);
Object ob=tableModel.getValueAt(selectedRow, 1);
aTextField.setText(oa.toString());
bTextField.setText(ob.toString());
}
});
addButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String[] rowValues = {aTextField.getText(), bTextField.getText()};
tableModel.addRow(rowValues);
}
});
updButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
in