在 codenameone 中居中标签的标准方法是什么?
What is the standard way to center labels in codenameone?
我有一些类似的代码,因此我希望每个文本行都居中(而不是左对齐)。 (我昨天刚刚下载了 codenameone 和 intellij 的最新升级,并开始玩 codenameone)。我很久以前就想去,结果分心了。
super("MyApp", BoxLayout.y());
add(new Label("Welcome to the world"));
add(new Label("of"));
add(new Label("Games"));
这是代号one模拟器的图片...
我试着将第一个标签调整到这个
Label label1 = new Label("Welcome to the world");
label1.setTextPosition(Component.CENTER);
add(label1);
但这会引发异常“文本位置无法设置为 4”。在执行 addComponent(BorderLayout.CENTER, new Label("Welcome")) 之后,我尝试了一个带有 BorderLayout 的 Container,但最终还是左对齐。
有什么办法解决这个问题使其居中吗?
编辑:我发现了一个已弃用的 label.setAlignment 方法。这将对齐方式固定为居中。这可能是最新版本中的错误吗?
谢谢,
院长
通过设计器、CSS 或 Style
对象将样式对齐 属性 到 LEFT
、RIGHT
或 CENTER
之一.
setTextPosition
仅对图标有效。所以如果你想要左边的文字和右边的图标你可以将它设置为 RIGHT
甚至 BOTTOM
将它放在图标下面。
有一个重要警告。对齐仅在您放置的框中有效,因此仅当组件本身足够大时才适用。
另一种对齐任何内容的常见模式是使用流式布局,例如:Container centered = FlowLayout.encloseCenter(myCmp);
我有一些类似的代码,因此我希望每个文本行都居中(而不是左对齐)。 (我昨天刚刚下载了 codenameone 和 intellij 的最新升级,并开始玩 codenameone)。我很久以前就想去,结果分心了。
super("MyApp", BoxLayout.y());
add(new Label("Welcome to the world"));
add(new Label("of"));
add(new Label("Games"));
这是代号one模拟器的图片...
我试着将第一个标签调整到这个
Label label1 = new Label("Welcome to the world");
label1.setTextPosition(Component.CENTER);
add(label1);
但这会引发异常“文本位置无法设置为 4”。在执行 addComponent(BorderLayout.CENTER, new Label("Welcome")) 之后,我尝试了一个带有 BorderLayout 的 Container,但最终还是左对齐。
有什么办法解决这个问题使其居中吗?
编辑:我发现了一个已弃用的 label.setAlignment 方法。这将对齐方式固定为居中。这可能是最新版本中的错误吗?
谢谢, 院长
通过设计器、CSS 或 Style
对象将样式对齐 属性 到 LEFT
、RIGHT
或 CENTER
之一.
setTextPosition
仅对图标有效。所以如果你想要左边的文字和右边的图标你可以将它设置为 RIGHT
甚至 BOTTOM
将它放在图标下面。
有一个重要警告。对齐仅在您放置的框中有效,因此仅当组件本身足够大时才适用。
另一种对齐任何内容的常见模式是使用流式布局,例如:Container centered = FlowLayout.encloseCenter(myCmp);