Java 如何修改工具栏';s返回命令按钮(返回箭头)在代号1中?

Java 如何修改工具栏';s返回命令按钮(返回箭头)在代号1中?,java,codenameone,Java,Codenameone,我正在尝试自定义使用Codename One中的工具栏时在表单之间切换所产生的返回箭头。我知道我必须以某种方式更改UIID,但我不确定要修改哪个组件。我尝试过在主题编辑器中更改BackCommand和Toolbar,但没有任何更改。这里没有必要提供任何代码,因为这是主题编辑器的一个问题 编辑:我附上了一张图片,显示在我的问题不清楚的情况下,返回箭头当前的外观(见左上角) 我猜您只是想设置颜色?有多种方法可以定制,而且它们都更加复杂 back命令只是BackCommandUIID,您可以通过des

我正在尝试自定义使用Codename One中的工具栏时在表单之间切换所产生的返回箭头。我知道我必须以某种方式更改UIID,但我不确定要修改哪个组件。我尝试过在主题编辑器中更改BackCommand和Toolbar,但没有任何更改。这里没有必要提供任何代码,因为这是主题编辑器的一个问题

编辑:我附上了一张图片,显示在我的问题不清楚的情况下,返回箭头当前的外观(见左上角)


我猜您只是想设置颜色?有多种方法可以定制,而且它们都更加复杂


back命令只是
BackCommand
UIID,您可以通过designer/CSS自定义它。同样,您也可以自定义标题命令的颜色。

您说,提供代码没有意义,因为这将是主题编辑器的问题。正如谢伊指出的那样,似乎没有这么简单的出路。如果您对编码解决方案感兴趣,因为您希望单独设置“后退”按钮的样式,下面是我的方法(使用代码):


提供了有关如何导入字体图像的指南

这里有一个实用方法,您不必每次都编写整个代码。 您必须自定义
BackButton
UIID。这样,您还可以显示IOS/Android风格的图标

public void setBackCommand(Form currentForm, Runnable r)
{
    Command back = new Command("Back") {

         @Override
         public void actionPerformed(ActionEvent evt) {
             r.run();
         }
    };

    currentForm.getToolbar().setBackCommand(back);

    Button buttonToolbar = currentForm.getToolbar().findCommandComponent(back);
    buttonToolbar.setUIID("BackButton");
     if(getPlatformName().equals("ios"))
         FontImage.setMaterialIcon(buttonToolbar, FontImage.MATERIAL_ARROW_BACK_IOS);
     else 
         FontImage.setMaterialIcon(buttonToolbar, FontImage.MATERIAL_ARROW_BACK);
}
你可以这样称呼它:

setBackCommand(currentForm, () -> {previousForm.showBack();});
您可以更改
Runnable
arg,以便在每次调用时包含不同的代码

setBackCommand(currentForm, () -> {previousForm.showBack();});