1 | if (tableModel.getRowCount() > 0) {↵ | | 1 | if (tableModel.getRowCount() > 0) {↵
|
2 | // If a table cell is being edited, we must cancel the editing↵ | | 2 | // If a table cell is being edited, we must cancel the editing↵
|
3 | // before deleting the row.↵ | | 3 | // before deleting the row.↵
|
4 | if (authTable.isEditing()) {↵ | | 4 | if (headerTable.isEditing()) {↵
|
5 | TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable↵ | | 5 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(),↵
|
6 | ↵ | | |
|
7 | .getEditingColumn());↵ | | 6 | headerTable.getEditingColumn());↵
|
8 | cellEditor.cancelCellEditing();↵ | | 7 | cellEditor.cancelCellEditing();↵
|
9 | }↵ | | 8 | }↵
|
|
10 | int rowSelected = authTable.getSelectedRow();↵ | | 9 | int rowSelected = headerTable.getSelectedRow();↵
|
|
11 | if (rowSelected != -1) {↵ | | 10 | if (rowSelected != -1) {↵
|
12 | tableModel.removeRow(rowSelected);↵ | | 11 | tableModel.removeRow(rowSelected);↵
|
13 | tableModel.fireTableDataChanged();↵ | | 12 | tableModel.fireTableDataChanged();↵
|
|
14 | // Disable the DELETE and SAVE buttons if no rows remaining↵ | | 13 | // Disable the DELETE and SAVE buttons if no rows remaining↵
|
15 | // after delete.↵ | | 14 | // after delete↵
|
16 | if (tableModel.getRowCount() == 0) {↵ | | 15 | if (tableModel.getRowCount() == 0) {↵
|
17 | deleteButton.setEnabled(false);↵ | | 16 | deleteButton.setEnabled(false);↵
|
18 | saveButton.setEnabled(false);↵ | | 17 | saveButton.setEnabled(false);↵
|
19 | }↵ | | 18 | }↵
|
|
20 | // Table still contains one or more rows, so highlight↵ | | 19 | // Table still contains one or more rows, so highlight↵
|
21 | // (select) the appropriate one.↵ | | 20 | // (select) the appropriate one.↵
|
22 | else {↵ | | 21 | else {↵
|
23 | int rowToSelect = rowSelected;↵ | | 22 | int rowToSelect = rowSelected;↵
|
|
24 | if (rowSelected >= tableModel.getRowCount()) {↵ | | 23 | if (rowSelected >= tableModel.getRowCount()) {↵
|
25 | rowToSelect = rowSelected - 1;↵ | | 24 | rowToSelect = rowSelected - 1;↵
|
26 | }↵ | | 25 | }↵
|
|
27 | authTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵ | | 26 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵
|
28 | }↵ | | 27 | }↵
|
29 | }↵ | | 28 | }↵
|
30 | }↵ | | 29 | }↵
|
31 | } else if (action.equals(ADD_COMMAND)) {↵ | | 30 | } else if (action.equals(ADD_COMMAND)) {↵
|
32 | // If a table cell is being edited, we should accept the current↵ | | 31 | // If a table cell is being edited, we should accept the current↵
|
33 | // value and stop the editing before adding a new row.↵ | | 32 | // value and stop the editing before adding a new row.↵
|
34 | if (authTable.isEditing()) {↵ | | 33 | if (headerTable.isEditing()) {↵
|
35 | TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable↵ | | 34 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(),↵
|
36 | ↵ | | |
|
37 | .getEditingColumn());↵ | | 35 | headerTable.getEditingColumn());↵
|
38 | cellEditor.stopCellEditing();↵ | | 36 | cellEditor.stopCellEditing();↵
|
39 | }↵ | | 37 | }↵
|
|
40 | tableModel.addNewRow();↵ | | 38 | tableModel.addNewRow();↵
|
41 | tableModel.fireTableDataChanged();↵ | | 39 | tableModel.fireTableDataChanged();↵
|
|
42 | // Enable the DELETE and SAVE buttons if they are currently↵ | | 40 | // Enable the DELETE and SAVE buttons if they are currently↵
|
43 | // disabled.↵ | | 41 | // disabled.↵
|
44 | if (!deleteButton.isEnabled()) {↵ | | 42 | if (!deleteButton.isEnabled()) {↵
|
45 | deleteButton.setEnabled(true);↵ | | 43 | deleteButton.setEnabled(true);↵
|
46 | }↵ | | 44 | }↵
|
47 | if (!saveButton.isEnabled()) {↵ | | 45 | if (!saveButton.isEnabled()) {↵
|
48 | saveButton.setEnabled(true);↵ | | 46 | saveButton.setEnabled(true);↵
|
49 | }↵ | | 47 | }↵
|
|
50 | // Highlight (select) the appropriate row.↵ | | 48 | // Highlight (select) the appropriate row.↵
|
51 | int rowToSelect = tableModel.getRowCount() - 1;↵ | | 49 | int rowToSelect = tableModel.getRowCount() - 1;↵
|
52 | authTable.setRowSelectionInterval(rowToSelect, rowToSelect); | | 50 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect);
|