Install4j - 组合框组件配置条件

时间:2018-04-25 08:33:35

标签: java install4j

我们正在使用Installer 6.1.6。 今天我们支持SQL服务器身份验证,我希望添加 Windows身份验证模式的新功能。

我们的数据库配置设置为配置表单,我想添加一个新的组合框表单组件,其中包括2个服务器身份验证选项。

  1. 是否可以仅为Windows操作系统定义带有条件表达式的组合框的 Windows身份验证选项? (为Linux用户显示它没有意义)

  2. 部分表单组件是“username”& “密码”。如果用户选择 Windows身份验证模式,则这些字段不再相关。在这种情况下是否可以隐藏它们?

  3. 使用完全模式运行安装程序时,组合框选项是否会导致冲突?是否将第一个选项设为默认选项?

1 个答案:

答案 0 :(得分:2)

  

是否可以定义组合框的Windows身份验证选项   仅适用于Windows操作系统的条件表达式? (它没有做到   感觉为Linux用户显示它)

您可以设置"下拉列表条目" "下拉列表的属性"将组件转换为包含字符串数组的安装程序变量:

${installer:authenticationOptions}

在表单的预激活脚本中,您可以使用以下代码设置变量:

List<String> options = new ArrayList<>();
options.add("One");
options.add("Two");
if (Util.isWindows()) {
    options.add("Three");
}
context.setVariable("authenticationOptions", options.toArray(new String[0]));
  

某些表单组件是&#34; username&#34; &安培; &#34;密码&#34 ;.如果是   用户选择Windows身份验证模式这些字段不是   相关的。在这种情况下是否可以隐藏它们?

是的,通过禁用&#34;选择更改脚本中的组件&#34;属性如下:

// to disable
formEnvironment.getFormComponentById("123").setEnabled(!selectedItem.equals("Windows authentication"));
// or to hide
formEnvironment.getFormComponentById("123").setVisible(!selectedItem.equals("Windows authentication"));
  

运行安装程序时,组合框选项是否会导致冲突?   有一个很好的模式?

默认情况下,选择第一个索引。这可以通过&#34;最初选择的索引&#34;进行配置。 &#34;下拉列表的属性&#34;表单组件。

替代解决方案:

我会考虑使用&#34;单一单选按钮&#34;表单验证选项的组件。它们都绑定到相同的变量名称,以便形成一个组并具有与下拉列表相同的效果。使用&#34;可见性脚本&#34;属性可以隐藏一些选项,具体取决于操作系统,例如

Util.isWindows()

和选项仅在Windows上可见。使用&#34;耦合表单组件&#34;在配置区域中的选项卡中,您可以根据选择选择禁用或启用的其他表单组件。