Java表格模型事件示例 (二)

2014-11-24 08:41:41 · 作者: · 浏览: 4
t[] selectedRows = table.getSelectedRows(); // table
// 默认情况容许多行选择
Vector rowData = new Vector();
rowData.add(textFieldA.getText());
rowData.add(textFieldB.getText());
if (selectedRows.length == 0) {
defaultTableModel.addRow(rowData);
textFieldA.setText(null);
textFieldB.setText(null);
} else if (selectedRows.length == 1) {
// System.out.println(selectedRows[0]);
defaultTableModel.insertRow(selectedRows[0] + 1, rowData);
textFieldA.setText(null);
textFieldB.setText(null);
} else {
JOptionPane.showMessageDialog(container,
"Your operation is forbidden", "Warning",
JOptionPane.WARNING_MESSAGE);
}
}

});
buttonDel.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int[] selectedRows = table.getSelectedRows(); // table
// 默认情况容许多行选择
for (int i = 0; i < selectedRows.length; i++) {
// System.out.println(selectedRows[i]);
defaultTableModel.removeRow(selectedRows[i] - i);
}
}

});
buttonDeselected.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
table.clearSelection();
}

});
scrollPane.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// System.out.println("here");
if (e.getClickCount() == 1
&& e.getButton() == MouseEvent.BUTTON1) {
table.clearSelection();
}
}
});

// make the text field focused every time the window is activated
addWindowFocusListener(new WindowAdapter() {

@Override
public void windowGainedFocus(WindowEvent e) {
// TODO Auto-generated method stub
textFieldA.requestFocus();
}

});

// **************************************************************
// This is a standard snippet to realize the desired column selection as in
// Excel
// **************************************************************

// row selection mode
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
// column selection mode
TableColumnModel tableColumnModel = table.getColumnModel();
tableColumnModel.getSelectionModel().setSelectionMode(
Lis