1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
public class MyTable extends JTable {
boolean _mustBeSaved = false;
// ... //
public MyTable(...){
//...///
currentModel.addColumnModelListener(new MyColumnModelListener());
getTableHeader().addMouseListener(new MyMouseListener());
}
private class MyColumnModelListener implements TableColumnModelListener{
public void columnMarginChanged(ChangeEvent changeEvent) {
_mustBeSaved = true;
}
public void columnSelectionChanged(ListSelectionEvent listSelectionEvent) {
// Do nothing
}
public void columnAdded(TableColumnModelEvent tableColumnModelEvent) {
// Do nothing
}
public void columnMoved(TableColumnModelEvent tableColumnModelEvent) {
// Do nothing
}
public void columnRemoved(TableColumnModelEvent tableColumnModelEvent) {
// Do nothing
}
}
private class MyMouseListener implements MouseListener {
public void mouseClicked(MouseEvent mouseEvent) {
// Do nothing
}
public void mouseEntered(MouseEvent mouseEvent) {
// Do nothing
}
public void mouseExited(MouseEvent mouseEvent) {
// Do nothing
}
public void mousePressed(MouseEvent mouseEvent) {
// Do nothing
}
public void mouseReleased(MouseEvent mouseEvent) {
if(_mustBeSaved){
myVeryImportantMethod();
_mustBeSaved = false;
}
}
}
} |