From 258d916436aa763d3d92a7e472ab21bef77ec4fb Mon Sep 17 00:00:00 2001 From: vito Date: Tue, 24 Dec 2024 16:02:49 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-145101=20=E6=A8=A1=E6=9D=BF=E6=A0=91UI?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E4=BD=8D=E4=BA=8E=E9=9D=9EDET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/gui/itree/refreshabletree/RefreshableJTree.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/itree/refreshabletree/RefreshableJTree.java b/designer-base/src/main/java/com/fr/design/gui/itree/refreshabletree/RefreshableJTree.java index b649cf3c19..1a86525d28 100644 --- a/designer-base/src/main/java/com/fr/design/gui/itree/refreshabletree/RefreshableJTree.java +++ b/designer-base/src/main/java/com/fr/design/gui/itree/refreshabletree/RefreshableJTree.java @@ -108,17 +108,18 @@ public abstract class RefreshableJTree extends CheckBoxTree { for (int i = 0; i < nodes.length; i++) { treeNode.add(nodes[i]); } - DefaultTreeModel treeModel = (DefaultTreeModel) RefreshableJTree.this.getModel(); + // 主要耗时是用在了treeUI的渲染上了,所以把这个放到工作线程里面 if (treeNode.getChildCount() >= 1 && ((ExpandMutableTreeNode) treeNode.getFirstChild()).getUserObject() == PENDING) { treeNode.remove(0); } - treeModel.nodeStructureChanged(treeNode); return System.currentTimeMillis() - startTime; } @Override protected void done() { + DefaultTreeModel treeModel = (DefaultTreeModel) RefreshableJTree.this.getModel(); + treeModel.nodeStructureChanged(treeNode); RefreshableJTree.this.updateUI(); // 恢复Tree的可用性 RefreshableJTree.this.setEnabled(true);