将按钮添加到 Codename One 工具栏
Add Buttons to the Codename One Toolbar
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));
它似乎在模拟器中工作。我的问题是是否有任何警告或更合适的方法来做到这一点。谢谢。
由于我们管理工具栏的方式,它可能会以奇怪的方式失败。命令是按钮,因此如果您执行以下操作:
Command c = tb.addMaterialCommandToRightSide(...);
Button b = tb.findCommandComponent(c);
然后您可以以任何您想要的方式操作按钮,包括设置它的 UIID、图标等。但是重要的是通过命令路径,以便命令和按钮关联在一起并一起管理。
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));
它似乎在模拟器中工作。我的问题是是否有任何警告或更合适的方法来做到这一点。谢谢。
由于我们管理工具栏的方式,它可能会以奇怪的方式失败。命令是按钮,因此如果您执行以下操作:
Command c = tb.addMaterialCommandToRightSide(...);
Button b = tb.findCommandComponent(c);
然后您可以以任何您想要的方式操作按钮,包括设置它的 UIID、图标等。但是重要的是通过命令路径,以便命令和按钮关联在一起并一起管理。