Java install4j-如果设置了自定义ID,则获取组件ID

Java install4j-如果设置了自定义ID,则获取组件ID,java,install4j,Java,Install4j,是否有任何方法可以为同时设置了自定义ID的组件获取组件ID 我的用例如下:我有一个带有可下载/外部组件的安装程序,我只想在安装程序布局中存在.dat文件的情况下在GUI中显示其中一个组件 问题是.dat文件在其文件名中使用了组件ID,而我在整个安装程序中使用了自定义ID,以便更容易地识别每个组件。如果设置了自定义ID,getId()函数将返回所述的自定义ID,而不是常规ID,因此我无法使用该ID以编程方式构建用于在GUI中启用组件可见性的组件文件名 现在我正在使用一种解决方法,不为我希望不可见的

是否有任何方法可以为同时设置了自定义ID的组件获取组件ID

我的用例如下:我有一个带有可下载/外部组件的安装程序,我只想在安装程序布局中存在.dat文件的情况下在GUI中显示其中一个组件

问题是.dat文件在其文件名中使用了组件ID,而我在整个安装程序中使用了自定义ID,以便更容易地识别每个组件。如果设置了自定义ID,getId()函数将返回所述的自定义ID,而不是常规ID,因此我无法使用该ID以编程方式构建用于在GUI中启用组件可见性的组件文件名

现在我正在使用一种解决方法,不为我希望不可见的组件设置自定义ID,除非已经存在,然后通过其名称手动将该ID与特定组件匹配(类似于
if(component.getName().equalsIgnoreCase(“compName”){context.setVariable(“compNameID”,component.getId());}
)然后在其余脚本中使用compNameID变量。

您可以调用

import install4j.runtime.installer.ContextImpl.InstallationComponentSetupImpl;   

String id = ((InstallationComponentSetupImpl)component).getInternalId()
获取安装组件的内部ID