0

我正在尝试使用 JFace Messagedialog.openInformation 对话框,并且我的消息字符串包含一个 & 符号“&”字符。打开对话框时不显示与号。通过反复试验,我发现如果我将字符串中的 && 加倍,那么它就会显示出来。

转义字符串中的 & 无效。

显然,如果我将字符串写入 system.out,情况并非如此;所以这不是字符串本身的问题。

我正在寻找一些关于为什么会发生这种情况的文档。

4

2 回答 2

1

您可以LegacyActionTools.escapeMnemonics(message)在应该显示的情况下使用转义助记符。

于 2015-04-24T09:31:24.790 回答
0

& 用于识别控件的助记加速器......因此,您传递给该MessageDialog.openInformation方法的文本可能正在被相同的逻辑解析。

我没有深入研究 SWT 代码,但我找不到处理“&”字符的特定位置,因此它可能发生在操作系统级别。

于 2013-06-12T18:38:25.053 回答