Install4j - предварительная настройка компонента формы не будет применяться при обновлении - PullRequest
0 голосов
/ 10 мая 2018

В нашем установщике у нас есть несколько компонентов формы, в которых мы скрываем некоторые внутренние параметры на тот случай, если пользователь выбрал конкретный параметр.

Например: на этом экране - это отображаемые по умолчанию параметры.

enter image description here

Если пользователь выбирает Аутентификация , отличную от значения по умолчанию Аутентификация SQL Server (Аутентификация Windows), тогда установщик скрывает Имя пользователя & Пароль полей.

Проблема возникает при обновлении. Если пользователь ранее выбрал параметр Windows Authentication - отображаемый экран будет выглядеть следующим образом:

enter image description here

Это нехорошо, потому что при соединении с Аутентификация Windows пользовательский ввод Имя пользователя & Пароль не должен быть представлен. Вход аутентификации определен как поле со списком и имеет сценарий изменения выбора , например:

if (selectedItem.equals("Windows Authentication")) {
    ((JTextField)formEnvironment.getFormComponentById("1418").getConfigurationObject()).setText("");
}

formEnvironment.getFormComponentById("1418").setVisible(!selectedItem.equals("Windows Authentication"));
formEnvironment.getFormComponentById("1677").setVisible(!selectedItem.equals("Windows Authentication"));

В принципе, я понимаю, почему он не будет работать при обновлении - поскольку он работает по триггеру выбора, он не будет применяться по умолчанию установщиком.

Есть ли способ применить эту логику также при обновлении?

1 Ответ

0 голосов
/ 10 мая 2018

Необходимо выполнить ту же логику в свойствах «Сценарий видимости» компонентов формы «Имя пользователя» и «Пароль». У вас нет параметра selectedItem, но вы можете запросить переменную, связанную с компонентом формы «Аутентификация», т.е. context.getVariable("variableName").

...