Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在表的顶部添加一行(LibGdx)_Java_Libgdx - Fatal编程技术网

Java 在表的顶部添加一行(LibGdx)

Java 在表的顶部添加一行(LibGdx),java,libgdx,Java,Libgdx,如何在LibGdx中的表顶部添加一行 tableName.add(rowElement); 这样,它会在表的末尾(底部)添加一行。我需要做相反的事情 tableName.add(rowElement).align(Align.top); // didn't work 代码: 简短回答:不能(直接)在libgdx表中插入 然而,有一些变通办法 根据libgdx: 表允许更改或删除单元格的小部件(通过设置它) 设置为null),但表当前不允许在中插入单元格 中间的或被移除的。为此,需要重建表:c

如何在LibGdx中的表顶部添加一行

tableName.add(rowElement);
这样,它会在表的末尾(底部)添加一行。我需要做相反的事情

tableName.add(rowElement).align(Align.top); // didn't work
代码:


简短回答:不能(直接)在libgdx表中插入

然而,有一些变通办法

根据libgdx:

表允许更改或删除单元格的小部件(通过设置它) 设置为null),但表当前不允许在中插入单元格 中间的或被移除的。为此,需要重建表:call clearChildren删除所有子项和单元格,然后将它们全部添加到 又是桌子

如果需要插入或删除单元格,可以使用垂直组或水平组

因此不能在表的顶部插入单元格。您需要完全从头开始重新构建表,或者按照建议使用该类


第一种解决方案:每次要在顶部插入消息时,都要重新生成表


第二种解决方案:使用垂直组

 // Initialize
 VerticalGroup v = new VerticalGroup();
 v.addActor(new Label("First row", skin))
 v.addActor(new Label("Second Row", skin))
 v.pack();
 myScene.addActor(v);

 ...

 // Add to the 'top'
 v.addActorAt(0, new Label("I'm at the first row", skin));
 v.pack();
我还没有测试过这段代码,但它应该可以帮助您了解它的要点


但是,要注意,这样做会损失libgdx表的一部分功能。

您能发布代码以便我们快速模拟吗?似乎您必须使用.jquery的.prepend或。before@Einlanzer这是一个Java/LibGDX问题。@Erick,请发布一个更完整的代码示例,说明您正在做什么。对齐仅用于单元格的内容。它与表中的单元格无关。@没有人发布代码示例您的代码与图片不匹配。通常,您只需先插入(第一行),就可以在表的顶部得到一些内容。
 // Initialize
 VerticalGroup v = new VerticalGroup();
 v.addActor(new Label("First row", skin))
 v.addActor(new Label("Second Row", skin))
 v.pack();
 myScene.addActor(v);

 ...

 // Add to the 'top'
 v.addActorAt(0, new Label("I'm at the first row", skin));
 v.pack();