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