首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Install4J: JDBC连接检查成功后反馈给用户

Install4J: JDBC连接检查成功后反馈给用户
EN

Stack Overflow用户
提问于 2019-06-10 01:58:26
回答 1查看 69关注 0票数 2

我正在尝试在Install4J 6.1.6中构建以下表单:

输入主机和端口号后,用户可以按Test connection按钮检查这些MySQL设置是否正确。

主机的变量称为mysqlHost,端口的变量为mysqlPort

我最初有一个问题,当按下Next >按钮时,用户输入的输入只会保存到变量中,但是我可以通过将formEnvironment.saveFormComponents()添加到两个输入字段的Key listener script中来解决这个问题。

我为Test Connection按钮设置了以下"Check JDBC connection“操作:

它工作正常,当主机和端口设置不正确时,用户将看到弹出的错误消息。

但是,当JDBC连接工作时,我无法显示成功消息或标签。我尝试使用以下可见性脚本添加一个绿色的成功标签(如第一张图片所示):

代码语言:javascript
复制
String errorMessage = (String)context.getVariable("mysqlTestError");
return errorMessage.length() == 0;

所以我尝试检查mysqlTestError变量是否为空。

但是它不起作用,成功标签永远不会显示。

怎么能只在连接检查成功时才显示?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 18:23:25

标签表单组件的可见性脚本仅在屏幕显示时进行评估,因此它不会在JDBC连接检查之后更新可见性。

您可以通过在按钮表单组件的"Action list“中添加"Run script”操作来以编程方式更新标签:

代码语言:javascript
复制
String errorMessage = (String)context.getVariable("mysqlTestError");
FormComponent formComponent = formEnvironment.getFormComponentById("ID of label");
formComponent.setVisible(!errorMessage.isEmpty());
((JLabel)formComponent.getConfigurationObject()).setText(errorMessage);

return true;

在install4j 6中,"formEnvironment“参数在操作列表中不可用,您必须通过

代码语言:javascript
复制
FormEnvironment formEnvironment = ((FormPanelContainer)context.getScreenById("ID of screen")).getFormEnvironment();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56517097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档