将按钮添加到代号一个工具栏

时间:2019-05-11 12:47:09

标签: codenameone

Toolbar API没有任何方法可以在左侧或右侧添加按钮(SideMenus内部除外)。它只允许添加命令,但是命令比按钮用的少,因为我不能单独设置每个命令的样式,而我可以使用按钮来设置样式。因此,我可以解决此问题:

// Modify and Save Button
Button modifySaveBtn = new Button("ProfileUtilities-ModifyBtn", "ProfileUtilities-ModifyBtn");

// Overflow Menu
Button overflowMenu = new Button(null, FontImage.createMaterial(FontImage.MATERIAL_PANORAMA_FISH_EYE, UIManager.getInstance().getComponentStyle("Title")), "TitleCommand");

// Adds the buttons
form.getToolbar().add(BorderLayout.EAST, FlowLayout.encloseRightMiddle(modifySaveBtn, overflowMenu));

它似乎可以在模拟器中工作。我的问题是,是否有任何警告或更适当的方法可以做到这一点。谢谢。

1 个答案:

答案 0 :(得分:1)

由于我们管理工具栏的方式,它可能会以奇怪的方式失败。命令是按钮,因此如果您执行以下操作:

Command c = tb.addMaterialCommandToRightSide(...);
Button b = tb.findCommandComponent(c);

然后,您可以通过任何希望的方式来操作按钮,包括设置按钮的UIID,图标等。但是,通过命令路径进行操作很重要,这样命令和按钮才能被关联和管理。