public void columnRemoved(TableColumnModelEvent e){
  LimeTableColumn ltc;
  TableColumnModel tcm=table.getColumnModel();
  for (int i=0; i < tcm.getColumnCount(); i++) {
    ltc=(LimeTableColumn)tcm.getColumn(i);
    setOrder(ltc,i);
  }
  LimeTableColumn removedColumn=table.getLastRemovedColumn();
  ltc=removedColumn;
  setVisibility(ltc,false);
  int order=getOrder(ltc);
  for (Iterator<LimeTableColumn> i=table.getHiddenColumns(); i.hasNext(); ) {
    ltc=i.next();
    int current=getOrder(ltc);
    if (current > order)     setOrder(ltc,current - 1);
  }
  if (listener != null)   listener.columnRemoved(removedColumn,table);
  save();
}

public void columnRemoved ( TableColumnModelEvent e ) { LimeTableColumn ltc ; TableColumnModel tcm = table . getColumnModel ( ) ; for ( int i = 0 ; i < tcm . getColumnCount ( ) ; i ++ ) { ltc = ( LimeTableColumn ) tcm . getColumn ( i ) ; setOrder ( ltc , i ) ; } LimeTableColumn removedColumn = table . getLastRemovedColumn ( ) ; ltc = removedColumn ; setVisibility ( ltc , false ) ; int order = getOrder ( ltc ) ; for ( Iterator < LimeTableColumn > i = table . getHiddenColumns ( ) ; i . hasNext ( ) ; ) { ltc = i . next ( ) ; int current = getOrder ( ltc ) ; if ( current > order ) setOrder ( ltc , current - 1 ) ; } if ( listener != null ) listener . columnRemoved ( removedColumn , table ) ; save ( ) ; }
triggered from a column being removed . the tablecolumnmodelevent is supremely dumb here , not even giving us the tablecolumn that was removed . so , we need to ask the table what the last removed column was .
