下面列出了怎么用javax.swing.event.TableColumnModelListener的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void moveColumn(int fromIndex, int toIndex) {
TableColumn from = columnList.get(fromIndex);
TableColumn to = columnList.get(toIndex);
columnList.set(fromIndex, to);
to.setModelIndex(fromIndex);
columnList.set(toIndex, from);
from.setModelIndex(toIndex);
orderUpdate();
for (TableColumnModelListener w : new ArrayList<>(watchers)) {
w.columnMoved(new TableColumnModelEvent(this, fromIndex, toIndex));
}
}
/**
* Add a column model listener.
*/
public void addColumnModelListener(TableColumnModelListener l) {
columnModel.addColumnModelListener(l);
}
/**
* Remove a column model listener.
*/
public void removeColumnModelListener(TableColumnModelListener l) {
columnModel.removeColumnModelListener(l);
}
@Override
public void addColumnModelListener(TableColumnModelListener listener) {
watchers.add(listener);
}
@Override
public void removeColumnModelListener(TableColumnModelListener listener) {
watchers.remove(listener);
}
@Override
public void addColumnModelListener(TableColumnModelListener x) {
}
@Override
public void removeColumnModelListener(TableColumnModelListener x) {
}
public static PropertyChangeListener addColumnModelTracker(JTable p_Table,
final TableColumnModelListener p_Listener) {
PropertyChangeListener propListener = new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
TableColumnModel oldModel = (TableColumnModel) event.getOldValue();
TableColumnModel newModel = (TableColumnModel) event.getNewValue();
if (oldModel != null)
oldModel.removeColumnModelListener(p_Listener);
if (newModel != null)
newModel.addColumnModelListener(p_Listener);
}
};
p_Table.addPropertyChangeListener("columnModel", propListener);
p_Table.getColumnModel().addColumnModelListener(p_Listener);
return propListener;
}