如何在sidemenu顶部和底部添加按钮?
问题描述:
我想在侧面菜单上添加
two
按钮。 One
在顶部和other
在底部所以我增加了以下code
但其没有工作,其显示的图像添加。 如何在top
和bottom
上添加sidemenu
上的按钮?如何在sidemenu顶部和底部添加按钮?
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();
}
容器只包含屏幕的一半,显示图像
答
没有为没有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);
它显示显示java.lang.NullPointerException这行 mySideMenuContainer.getParent( ).setLayout(new GridLayout(1,1)); – tizbn
好吧,我看到一个问题,修复了代码,使黑客更“hackish” –
我已经使用这个新的代码,其整个代码添加上面的问题与其截图。它只覆盖了屏幕的一半如何覆盖整个屏幕的高度? – tizbn