From a007b71ca75d6d07832da3d27e871c841805154d Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 28 Jul 2023 12:19:49 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-101773=20=E3=80=90=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=B8=89=E6=9C=9F=E3=80=91=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E9=80=89=E6=8B=A9=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=88=A0=E9=99=A4=EF=BC=8C=E5=88=A0=E5=AE=8C=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=93=8D=E4=BD=9C=E6=A1=86=E7=9A=84=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E5=B0=B1=E7=82=B9=E4=B8=8D=E5=8A=A8=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/vcs/ui/RecyclePane.java | 4 ++-- .../java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java | 6 ++++-- .../java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java | 7 ++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java index 186e6b849a..ef84c059ed 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java @@ -216,7 +216,7 @@ public class RecyclePane extends AbstractSupportSelectTablePane JOptionPane.QUESTION_MESSAGE); if (selVal == JOptionPane.YES_OPTION) { tableEntities = model.getList().stream().filter(tableEntity -> !tableEntity.isSelect()).collect(Collectors.toList()); - model.setList(tableEntities); + model.setList(new ArrayList<>(tableEntities)); model.fireTableDataChanged(); listener.doAfterChooseYes(selectList); fireVcsListener(model.getList()); @@ -365,7 +365,7 @@ public class RecyclePane extends AbstractSupportSelectTablePane * @param entities */ public void updateTableList(List entities) { - tableEntities = entities; + tableEntities = new ArrayList<>(entities); } /** diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java index c363e346af..354e02bd51 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java @@ -105,7 +105,8 @@ public class VcsCenterPane extends VcsNewPane { @Override public void mouseClicked(MouseEvent e) { JTable table = tableContentPane.getEditTable(); - Object o = table.getValueAt(table.getEditingRow(), table.getEditingColumn()); + int row = table.getEditingRow(); + Object o = table.getValueAt(row, table.getEditingColumn()); if (o instanceof VcsTableEntity) { VcsEntity entity = ((VcsTableEntity) o).getEntity(); String fileName = entity.getFilename(); @@ -118,7 +119,8 @@ public class VcsCenterPane extends VcsNewPane { if (selVal == JOptionPane.YES_OPTION) { VcsOperatorWorker.createDeleteWorker().doDelete(entity); removeTarget((VcsTableEntity) o); - model.getList().remove(o); + model.fireTableRowsDeleted(row, row); + model.removeRow(row); model.fireTableDataChanged(); } } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java index ac8e0a06b5..638bc3a595 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java @@ -202,8 +202,8 @@ public class VcsNewPane extends RecyclePane { @Override public void mouseClicked(MouseEvent e) { JTable table = tableContentPane.getEditTable(); - int row = table.getEditingColumn(); - Object o = table.getValueAt(table.getEditingRow(), row); + int row = table.getEditingRow(); + Object o = table.getValueAt(row, table.getEditingColumn()); if (o instanceof VcsTableEntity) { VcsEntity entity = ((VcsTableEntity) o).getEntity(); int selVal = FineJOptionPane.showConfirmDialog( @@ -213,7 +213,8 @@ public class VcsNewPane extends RecyclePane { JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (selVal == JOptionPane.YES_OPTION) { - model.getList().remove(o); + model.fireTableRowsDeleted(row, row); + model.removeRow(row); model.fireTableDataChanged(); VcsOperatorWorker.createDeleteWorker().deleteTargetVersion(entity); fireVcsListener(model.getList());