Salut,
Le plus propre serait de surcharger la méthode columnMoved de ton TableColumnModelListener pour gérer ça. Et également jouer avec les méthodes fromIndex & toIndex de ton TableColumnModelEvent pour déterminer s'il tu es sur une colonne fixe ou non.
++
Dev addict
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
private int columnValue = -1; private int columnNewValue = -1;
tbl_modele.getColumnModel().addColumnModelListener(new TableColumnModelListener() { public void columnAdded(TableColumnModelEvent e) {} public void columnMarginChanged(ChangeEvent e) {} public void columnMoved(TableColumnModelEvent e) { if (columnValue == -1) columnValue = e.getFromIndex(); columnNewValue = e.getToIndex(); } public void columnRemoved(TableColumnModelEvent e) {} public void columnSelectionChanged(ListSelectionEvent e) {} }); tbl_modele.getTableHeader().addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { if (columnValue != -1 && (columnValue == 0 || columnNewValue == 0)) tbl_modele.moveColumn(columnNewValue, columnValue); columnValue = -1; columnNewValue = -1; } });
j'ai essayé comme ça et n'a pas marché .