如何在不中断java中的表格布局的情况下对行进行拖动操作?

时间:2016-04-05 08:19:25

标签: java swing layout drag-and-drop mouseevent

我有一种拖动方法。

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);
}

但它扰乱了表格布局。所有行都混合了。当用户用鼠标拖动一行到另一个地方时,我想保护表格布局,只改变那个行的位置;不是表中的所有行。 感谢。

0 个答案:

没有答案