我想在侧边菜单上添加two
按钮。 顶部的One
和底部的other
,因此我添加了code
以下但无法正常工作及其显示的图片已添加。
如何在sidemenu
和top
上的bottom
添加按钮?
Toolbar addToolbar(Form f) {
Toolbar toolbar = new Toolbar();
f.setToolbar(toolbar);
Container container = new Container(new BorderLayout());
container.add(BorderLayout.NORTH,new Button(" north"));
container.add(BorderLayout.SOUTH,new Button(" south"));
toolbar.addComponentToSideMenu(container);
}
void addToolbars(Form fs) {
Form f = new Form(" Test");
Toolbar toolbar = new Toolbar();
f.setToolbar(toolbar);
Container container = new Container(new BorderLayout());
container.add(BorderLayout.NORTH, new Button(" north"));
container.add(BorderLayout.CENTER, new Button("center"));
container.add(BorderLayout.SOUTH, new Button(" south"));
toolbar.addComponentToSideMenu(container);
Container mySideMenuContainer = new Container() {
@Override
public void initComponent() {
getParent().setLayout(new GridLayout(1, 1));
getParent().setScrollableY(false);
getParent().revalidate();
}
};
mySideMenuContainer.addComponent(container);
toolbar.addComponentToSideMenu(mySideMenuContainer);
f.show();
}
容器只包含一半的屏幕,如图所示
答案 0 :(得分:0)
没有API,也不支持。
然而,就像Codename One中的任何内容一样,您有时可以将事情混在一起。
E.g。像这样的东西应该作为一个黑客工作,虽然我不能保证它将永远工作,因为它依赖于addComponentToSideMenu
方法的实现细节:
Container mySideMenuContainer = createSideMenuContainer() {
@Override
public void initComponent() {
Container p = getParent();
if(!(p.getLayout() instanceof BorderLayout)) {
Component[] cmp = new Component[p.getComponentCount()];
for(int iter = 0 ; iter < cmp.length ; iter++) {
cmp[iter] = p.getComponentAt(iter);
}
p.removeAll();
p.setLayout(new BorderLayout());
if(cmp.length == 1) {
p.add(BorderLayout.CENTER, cmp[0]);
} else {
p.add(BorderLayout.NORTH, cmp[0]);
p.add(BorderLayout.CENTER, cmp[1]);
}
p.revalidate();
}
}
};
toolbar.addComponentToSideMenu(mySideMenuContainer);