有没有办法获取也设置了自定义ID的组件的组件ID?
我的用例如下:我有一个带有可下载/外部组件的安装程序,我只想在安装程序布局中出现.dat文件时才在GUI中显示其中一个。
问题是.dat文件在其文件名中使用了组件ID,而我一直在整个安装程序中使用自定义ID,以便更轻松地识别每个组件。使用自定义ID集,getId()函数返回所述自定义ID而不是常规ID,因此我不能使用它来编程构建用于在GUI中启用组件可见性的组件文件名。
现在我正在使用一种解决方法,不为我想要隐藏的组件设置自定义ID,除非已经存在,然后通过名称手动匹配该ID与特定组件(类似if(component.getName().equalsIgnoreCase("compName")) { context.setVariable("compNameID", component.getId()); }
)和然后在其余脚本中使用该compNameID变量。
答案 0 :(得分:2)
你可以打电话
import install4j.runtime.installer.ContextImpl.InstallationComponentSetupImpl;
String id = ((InstallationComponentSetupImpl)component).getInternalId()
获取安装组件的内部ID。