在codenameone中居中标签的标准方式是什么?

在codenameone中居中标签的标准方式是什么?,codenameone,Codenameone,我有一些类似这样的代码,所以我希望每个文本行都居中(而是左对齐)。(我昨天刚下载了codenameone和intellij的最新升级,现在开始玩codenameone)。我很久以前就想这么做了,结果分心了 super("MyApp", BoxLayout.y()); add(new Label("Welcome to the world")); add(new Label("of")); add(new

我有一些类似这样的代码,所以我希望每个文本行都居中(而是左对齐)。(我昨天刚下载了codenameone和intellij的最新升级,现在开始玩codenameone)。我很久以前就想这么做了,结果分心了

    super("MyApp", BoxLayout.y());

    add(new Label("Welcome to the world"));
    add(new Label("of"));
    add(new Label("Games"));
这是一张来自codenameone模拟器的图片

我试着把第一个标签改成这个

    Label label1 = new Label("Welcome to the world");
    label1.setTextPosition(Component.CENTER);
    add(label1);
但这会引发一个异常“文本位置不能设置为4”。我尝试了一个带有BorderLayout的容器,然后做了一个addComponent(BorderLayout.CENTER,new Label(“Welcome”)),但结果也是左对齐的

有没有办法解决这个问题

编辑:我发现一个不推荐使用的label.setAlignment方法。将路线固定为居中。这可能是最新版本中的一个bug吗

谢谢,
Dean

通过设计器、CSS或
Style
对象将样式设置的对齐属性用于
左侧
右侧
中心
中的一个

setTextPosition
仅与图标相关。因此,如果您希望文本位于左侧,图标位于右侧,您可以将其设置为
right
,甚至
BOTTOM
将其置于图标下方

有一个重要的警告。对齐仅在放置的长方体中起作用,因此仅当零部件本身足够大时才适用

另一种常见的对齐方式是使用流布局,例如:
Container centered=FlowLayout.encloseCenter(myCmp)