有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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

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


共 (1) 个答案

  1. # 1 楼答案

    你可以打电话

    import install4j.runtime.installer.ContextImpl.InstallationComponentSetupImpl;   
    
    String id = ((InstallationComponentSetupImpl)component).getInternalId()
    

    获取安装组件的内部ID