diff --git a/viewpanel/src/com/spineview/ObjectPanel.java b/viewpanel/src/com/spineview/ObjectPanel.java index c09aa71..d375fe6 100644 --- a/viewpanel/src/com/spineview/ObjectPanel.java +++ b/viewpanel/src/com/spineview/ObjectPanel.java @@ -134,7 +134,8 @@ public final class ObjectPanel { layoutCell(nameCell, Obf.CELL_LEFT); // 上段:按钮块(自适应高度,紧贴顶部) Object cell = call(root, Obf.TABLE_ADD, new Class[] {actorClass}, cellClass, buttons); - layoutCell(cell, Obf.CELL_LEFT, Obf.CELL_FILL_X); + // expand:吃掉停靠框里"没人要"的那部分空间(用户点名要的),否则底部会留一条空带 + layoutCell(cell, Obf.CELL_LEFT, Obf.CELL_FILL_X, Obf.CELL_EXPAND); final Object buttonsCell = cell; call(root, Obf.TABLE_ROW, new Class[0], cellClass); // 上/中/下 = 根表格的**三个单元格**(这样 setDebug 画出来就是三条带): @@ -145,7 +146,7 @@ public final class ObjectPanel { cell = call(root, Obf.TABLE_ADD, new Class[] {actorClass}, cellClass, scroll); // 中段 = 列表,是**最长的一段**:只用固定高度,**不用 expand**(用户明确不要)。 // 纵向拉伸用已验证的 fillY=`L`(Cell.fill() 的载荷名 `D` 在 Cell 上有多个同名无参方法,会取错)。 - layoutCell(cell, Obf.CELL_TOP, Obf.CELL_FILL_X, Obf.CELL_FILL_Y); + layoutCell(cell, Obf.CELL_TOP, Obf.CELL_FILL_X, Obf.CELL_FILL_Y, Obf.CELL_EXPAND); try { // 中段固定高度:Cell.height(float) 在载荷里叫 `I`(实测确认:设 900 -> 根表格 580->1080) call(cell, "I", new Class[] {float.class}, cellClass, Float.valueOf(700f)); @@ -157,7 +158,7 @@ public final class ObjectPanel { call(root, Obf.TABLE_ROW, new Class[0], cellClass); Object logCell = call(root, Obf.TABLE_ADD, new Class[] {actorClass}, cellClass, state.status); // 下段 = 日志:只占它需要的高度(1~6 行),贴在面板最下面 - layoutCell(logCell, Obf.CELL_LEFT, Obf.CELL_FILL_X); + layoutCell(logCell, Obf.CELL_LEFT, Obf.CELL_FILL_X, Obf.CELL_EXPAND); // 中段高度固定:Cell.height(float) 在载荷里叫 `I`(描述符 (F)LdR;) // 实测确认:设 900 后根表格高度 580 -> 1080,说明它就是 height()。 try {