我想检测何时单击侧面菜单或汉堡菜单。
这是来自一个不起作用的准系统 hello world 项目的代码:
Form hi = new Form("Hi World");
Toolbar bar = new Toolbar();
hi.setToolbar(bar);
bar.addCommandToSideMenu(new Command("test 1"));
bar.addCommandToSideMenu(new Command("test 2"));
hi.addComponent(new Label("Hi World"));
bar.getMenuBar().addPointerPressedListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent evt) {
System.out.println("Side menu or Hamburner Menu is clicked");
}
});
hi.show();
我预计当我单击侧面菜单或汉堡菜单时会看到打印的字符串。但事实并非如此。
我如何监听汉堡菜单点击事件。
谢谢
3lix
最佳答案
由于工具栏只是表单顶部的一个 BorderLayout 容器,因此您可以找到侧面菜单按钮并在其上添加监听器。
Button sideBtn = (Button)((BorderLayout)bar.getLayout()).getEast();
请注意,这是一个未记录的 API,因此将来可能会损坏,侧边按钮出于某种原因没有故意公开,请重新考虑您要执行的操作。
关于codenameone - 监听侧面菜单/汉堡菜单点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39909501/