跳至主要内容

Input Dialog

在 ChatGPT 中打开
阴影 24.02
Java API

一个 InputDialog 是一个模态对话框,旨在提示用户输入。该对话框在用户提供输入或关闭对话框之前会阻止应用程序执行。

用法

InputDialog 提示用户输入,例如文本、数字或其他数据。由于对话框是模态的,应用程序会等待用户响应后再继续:

显示代码

类型

输入类型

InputDialog 支持不同类型的输入字段,允许您根据具体需求自定义输入方法:

  1. 文本:标准的单行文本输入。
  2. 密码:隐藏用户输入的密码输入字段。
  3. 数字:数字输入字段。
  4. 电子邮件:用于电子邮件地址的输入字段。
  5. 网址:用于网址的输入字段。
  6. 搜索:搜索文本输入字段。
  7. 日期:用于选择日期的输入字段。
  8. 时间:用于选择时间的输入字段。
  9. 本地日期时间:用于选择本地日期和时间的输入字段。
  10. 颜色:用于选择颜色的输入字段。

消息类型

InputDialog 支持以下消息类型。当您配置类型时,对话框会在消息旁边显示图标,并且对话框的主题会根据 webforJ 设计系统规则进行更新。

  1. 普通:不带图标显示消息,使用默认主题。
  2. 错误:在消息旁边显示错误图标,应用错误主题。
  3. 问题:在消息旁边显示问号图标,使用主要主题。
  4. 警告:在消息旁边显示警告图标,应用警告主题。
  5. 信息:在消息旁边显示信息图标,使用信息主题。

在以下示例中,用户被提示输入其密码以访问应用程序。如果登录失败,用户将再次被提示。

显示代码

结果

InputDialog 将用户的输入作为字符串返回。如果用户在未提供输入的情况下关闭对话框,结果将为 null

important

结果字符串将从 show() 方法或等效的 OptionDialog 方法返回,如下所示。

String result = OptionDialog.showInputDialog(
"请输入您的年龄:", "年龄输入", "", InputDialog.InputType.NUMBER);

if (result != null) {
OptionDialog.showMessageDialog("您输入的内容为: " + result, "输入已接收");
} else {
OptionDialog.showMessageDialog("未接收到输入", "输入已取消");
}

默认值

InputDialog 允许您指定一个在对话框显示时出现在输入字段中的默认值。这可以为用户提供建议或之前输入的值。

InputDialog dialog = new InputDialog(
"请输入您的姓名:", "姓名输入", "约翰·多", InputDialog.InputType.TEXT);
String result = dialog.show();

超时

InputDialog 允许您设置一个超时期限,超过该期限后对话框将自动关闭。此功能在非关键输入请求或不需要用户立即互动的操作中非常有用。

您可以使用 setTimeout(int timeout) 方法配置对话框的超时。超时时间以秒为单位。如果在指定时间内没有用户交互,对话框将自动关闭。

InputDialog dialog = new InputDialog(
"请输入您的姓名:", "姓名输入", "约翰·多");
dialog.setTimeout(5);
String result = dialog.show();

OptionDialog.showMessageDialog(
"您输入的内容为: " + result, "输入已接收", "确定", MessageDialog.MessageType.INFO);

最佳实践

  1. 清晰简洁的提示:确保提示消息清楚地解释用户需要提供什么信息。
  2. 适当的输入类型:选择与所需数据匹配的输入类型,确保用户输入准确且相关。
  3. 合逻辑的默认值:设置提供有用建议或先前输入的默认值,以简化用户输入。
  4. 谨慎使用超时:为非关键输入请求设置超时,确保用户有足够的时间提供所需的信息。
  5. 减少过度使用:节省使用输入对话框,以免引起用户沮丧。保留它们用于需要特定用户输入的操作。