我有一种拖动方法。
public void switchRows(int dropped, int dragged) {
if (dragged == dropped) {
return;
}
keys.add(dropped, keys.get(dragged));
keys.remove(dragged < dropped ? dragged : dragged + 1);
}
我在这里调用了这个方法==&gt;
protected void importString(JComponent c, String str) {
target = (JTable) c;
int dropped = target.getDropLocation().getRow();
Integer dragged = Integer.valueOf(str);
Class1 temp = workspace.getSourceMap().get(filter.getSelectedItem()).set(dropped, workspace.getSourceMap().
get(filter.getSelectedItem()).get(dragged));
workspace.getSourceMap().get(filter.getSelectedItem()).set(dragged, temp);
MyTable.switchRows(dropped, dragged);
}
但它扰乱了表格布局。所有行都混合了。当用户用鼠标拖动一行到另一个地方时,我想保护表格布局,只改变那个行的位置;不是表中的所有行。 感谢。