我使用以下结果配置了布局:
Layout
内容窗格的Form
是TableLayout
,其中包含一个小区。 contentpane只有一个容器作为子容器,我使用以下修改后的值设置layoutConstraint:width = 100%, height = 100%, Align = CENTER, Vertical Align = CENTER
。
换句话说,我以表格的组成部分为中心。
在预览中,它看起来与预期一样,但在应用程序在模拟器中运行时却看不到! 注意:
我没有修改代码中的任何样式或布局属性!因此,我不知道为什么它不像模拟器中那样。
How to show two or more label at centre of the container in codenameone的方法对我不起作用!
这是我关于该表格的代码:
@Override
protected void postIntroLangSelect(Form f) {
f.getTitleArea().setHidden(true);
f.revalidate();
// button configuration
Button btnDE = findButtonDE(f);
Button btnTR = findButtonTR(f);
btnDE.addActionListener((e) -> {
settings.setLocale(Lang.GERMAN);
showNextForm();
});
btnTR.addActionListener((e) -> {
settings.setLocale(Lang.TURKISH);
showNextForm();
});
}
答案 0 :(得分:2)
将表单的布局设置为BorderLayout
并检查Absolute Center
,然后在表单上添加一个容器,其布局约束设置为Center
。为此容器指定BoxLayout Y
布局,并在其中添加所有其他组件。
如果这种方法对您不起作用,那么您必须手工编写表单并将其设置为new BorderLayout(BorderLayout.CENTER_BEHAVIOR_CENTER)
。