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

Posted

技术标签:

【中文标题】将按钮添加到代号一工具栏【英文标题】:Add Buttons to the Codename One Toolbar 【发布时间】:2019-05-11 12:47:09 【问题描述】:

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】:

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

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

然后,您可以以任何您想要的方式操作按钮,包括设置其 UIID、图标等。但通过命令路由很重要,以便命令和按钮关联并一起管理。

【讨论】:

以上是关于将按钮添加到代号一工具栏的主要内容,如果未能解决你的问题,请参考以下文章

代号一:带图像的样式工具栏

代号一刷新表单

如何使用 Three20 将按钮添加到工具栏?

如何将徽标、按钮图像和按钮菜单添加到 Firefox 工具栏

如何将自定义按钮添加到调用 JavaScript 函数的工具栏?

无法将自定义按钮添加到导航控制器的工具栏