Java 表放置在表中的参与者(LIBGDX) 我有一张主桌 我在表a的第一行有一个新表B 我在表a中有第二行,参与者C包含表D

Java 表放置在表中的参与者(LIBGDX) 我有一张主桌 我在表a的第一行有一个新表B 我在表a中有第二行,参与者C包含表D,java,libgdx,Java,Libgdx,表B和表D的内容相同。唯一的区别是,表D位于参与者中: 问:为什么演员的位置不正确?它位于表A的左下角(表A=蓝色)。可以手动定位演员C,但我想知道,这里出了什么问题 代码: 使用容器而不是组,并检查容器中的代码,以了解仅使用组时的错误 Table outerTable = createOuterTable(font, skin); outerTable.debug(); outerTable.setPosition(200,200); stage.addActor(outerTable);

表B和表D的内容相同。唯一的区别是,表D位于参与者中:

问:为什么演员的位置不正确?它位于表A的左下角(表A=蓝色)。可以手动定位演员C,但我想知道,这里出了什么问题

代码:


使用
容器
而不是
,并检查
容器
中的代码,以了解仅使用
时的错误

Table outerTable = createOuterTable(font, skin);
outerTable.debug();
outerTable.setPosition(200,200);
stage.addActor(outerTable);

private Table createTable_B(BitmapFont font){
    Table table = new Table();
    Label.LabelStyle labelStyle = new Label.LabelStyle(font, new Color(Color.GREEN));
    Label firstlabel = new Label("Table B row 1", labelStyle);
    Label secondlabel = new Label("Table B row 2", labelStyle);
    table.add(firstlabel);
    table.row();
    table.add(secondlabel);
    table.debug();
    return table;
}

private Table createOuterTable(BitmapFont font, Skin skin){
    Table table = new Table();
    TableActor actor_C = new TableActor(skin);
    table.add(createTable_B(font)).pad(20);
    table.row();
    table.add(actor_C).pad(20);
    table.debug();
    return table;
}

public class TableActor extends Group {

    private final BitmapFont font;

    public TableActor(Skin skin) {
        font = skin.get(Label.LabelStyle.class).font;
        Table table = createInnerTable(font);
        addActor(table);
        setTransform(false);
    }

    private Table createInnerTable(BitmapFont font){
        Table table = new Table();

        Label.LabelStyle labelStyle = new Label.LabelStyle(font, new Color(Color.GREEN));
        Label firstlabel = new Label("Table D row 1", labelStyle);
        Label secondlabel = new Label("Table D row 2", labelStyle);

        table.add(firstlabel);
        table.row();
        table.add(secondlabel);
        table.debug();
        return table;

    }