中段直接放列表表格(去掉 ScrollPane):expand/fill 撑满红框(代价:失去滚动)

This commit is contained in:
tianmo committed 2026-10-16 17:25:08 +08:00
1 parent d6a766d5b4
commit 104eaba8c0
1 file changed
+1 -10
+1 -10
View File
@@ -146,7 +146,7 @@ public final class ObjectPanel {
// 中 = 列表/Inspector:固定高度 500 + fillX + expand + fill(下边自然顶到日志上沿)
// 下 = 日志 Label:自然高度贴底
state.root = root;
cell = call(root, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass, scroll);
cell = call(root, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass, state.listTable);
// 中段 = 列表,是**最长的一段**:只用固定高度,**不用 expand**(用户明确不要)。
// 纵向拉伸用已验证的 fillY=`L`(Cell.fill() 的载荷名 `D` 在 Cell 上有多个同名无参方法,会取错)。
layoutCell(cell, Obf.CELL_TOP, Obf.CELL_FILL_X, Obf.CELL_FILL_Y, Obf.CELL_EXPAND);
@@ -642,15 +642,6 @@ public final class ObjectPanel {
private static void beginRender(State state) throws Exception {
call(state.listTable, Obf.TABLE_CLEAR_CHILDREN, new Class<?>[0], void.class);
state.logBlockStarted = false;
// 给列表内容垫一段空白:让列表表格的 pref 高度不小于 ScrollPane 视口,
// 这样它就会铺满红框(内容少时也不会缩成一小块),内容多时照常滚动。
StringBuilder blank = new StringBuilder();
for (int i = 0; i < 80; i++) blank.append('\n');
Class<?> cellClass = Class.forName(Obf.CELL, true, state.loader);
Class<?> actorClass = Class.forName(Obf.ACTOR, true, state.loader);
call(state.listTable, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass,
label(state.loader, state.skin, blank.toString()));
call(state.listTable, Obf.TABLE_ROW, new Class<?>[0], cellClass);
}
/**