From 8d396ecb5bcd3e99a7c2c0a518c444b8cf1981ee Mon Sep 17 00:00:00 2001 From: tianmo Date: Fri, 16 Oct 2026 16:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=88=97=E8=A1=A8=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=EF=BC=9AScrollPane=20=E7=9A=84=20(boolean,boolean)=20=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E6=98=AF=20setScrollingDisabled=20=E4=B8=8D=E6=98=AF?= =?UTF-8?q?=20setForceScroll=EF=BC=9B=E4=B8=8A=E4=B8=80=E7=89=88=E4=BC=A0?= =?UTF-8?q?=20(false,true)=20=E6=8A=8A=E7=BA=B5=E5=90=91=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=E5=85=B3=E6=8E=89=E4=BA=86=EF=BC=8C=E7=8E=B0=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=20(false,false)=20=E6=81=A2=E5=A4=8D=E5=8F=8C=E5=90=91?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- viewpanel/src/com/spineview/ObjectPanel.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/viewpanel/src/com/spineview/ObjectPanel.java b/viewpanel/src/com/spineview/ObjectPanel.java index 4bce7a9..41d871d 100644 --- a/viewpanel/src/com/spineview/ObjectPanel.java +++ b/viewpanel/src/com/spineview/ObjectPanel.java @@ -542,17 +542,19 @@ public final class ObjectPanel { // 同上 } try { - // ScrollPane.setForceScroll(boolean, boolean):让它按新的内容高度重算可滚动范围 + // ⚠️ ScrollPane 上这个 (boolean,boolean) 方法是 **setScrollingDisabled(x, y)**(指纹表已确认), + // 不是 setForceScroll —— 传 (false,true) 会把纵向滚动**关掉**,看起来就是"列表滚不动"。 + // 这里显式恢复:两个方向都可以滚。 for (Method method : state.listScroll.getClass().getMethods()) { Class[] types = method.getParameterTypes(); if (types.length != 2 || types[0] != boolean.class || types[1] != boolean.class) continue; if (method.getReturnType() != void.class) continue; method.setAccessible(true); - method.invoke(state.listScroll, Boolean.FALSE, Boolean.TRUE); + method.invoke(state.listScroll, Boolean.FALSE, Boolean.FALSE); break; } } catch (Throwable error) { - System.err.println("[panel] 重算滚动范围失败: " + error); + System.err.println("[panel] 恢复滚动失败: " + error); } }