跳至主要内容

Message

在 ChatGPT 中打开
阴影 24.02
Java API

一个 MessageDialog 是一个模态对话框,旨在向用户显示消息,包含一个 OK 按钮以关闭对话框。在用户与之交互或由于超时而关闭之前,它会阻止应用程序执行。

用法

使用静态 showMessageDialog 方法显示基本消息。

OptionDialog.showMessageDialog("你好,世界!");

要对对话框的外观和行为进行更多控制,可以直接创建 MessageDialog 实例。

MessageDialog dialog = new MessageDialog(
"你好,世界", "你好,世界", MessageDialog.MessageType.INFO);
dialog.setBlurred(true);
dialog.setAlignment(MessageDialog.Alignment.TOP);
dialog.show();

消息类型

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

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

在以下示例中,代码配置了一个类型为 WARNING 的消息对话框,具有自定义标题和消息。

显示代码

对话框和按钮主题

默认情况下,对话框根据消息类型确定主题。您可以使用 setTheme(Theme theme) 方法自定义对话框的主题,并独立使用 setButtonTheme(ButtonTheme theme) 方法调整按钮主题,以创建不同的变体。

按钮文本

您可以使用 setButtonText(String text) 配置对话框按钮的文本。

OptionDialog.showMessageDialog("你好,世界!", "标题", "明白了");

HTML 处理

默认情况下,消息对话框处理和渲染 HTML 内容。您可以通过配置对话框为显示原始文本来关闭此功能。

MessageDialog dialog = new MessageDialog(
"<b>你好,世界</b>", "你好,世界", MessageDialog.MessageType.INFO);
dialog.setRawText(true);
dialog.show();

超时

MessageDialog 允许您设置超时时间,超时后对话框将自动关闭。此功能适用于非关键通知或不需要用户立即交互的信息。

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

MessageDialog dialog = new MessageDialog("此对话框即将超时", "超时");
dialog.setTimeout(2);
dialog.show();

最佳实践

  1. 清晰简洁的消息:保持消息简短,避免技术术语;使用用户友好的语言。
  2. 适当的消息类型
    • 对于关键问题使用 ERROR
    • 对于警示通知使用 WARNING
    • 对于一般信息使用 INFO
  3. 一致的主题:使对话框和按钮的主题与应用程序的设计一致。
  4. 谨慎使用超时:为非关键通知设置超时,并确保用户有足够的时间阅读消息。
  5. 避免过度使用:尽量减少使用对话框,以防止用户感到沮丧,保留用于需要用户操作或确认的重要消息。