我正在尝试使用JFace Messagedialog.openInformation对话框,我的消息字符串包含&符号&'字符。打开对话框时不显示&符号。通过反复试验,我发现如果我把&符号加倍到&&在字符串中,它将显示。
逃离&在字符串中没有效果。
显然,如果我将字符串写入system.out,情况并非如此;所以这不是String本身的问题。
我正在寻找一些关于这种情况发生的文件。
答案 0 :(得分:1)
您可以使用LegacyActionTools.escapeMnemonics(message)
来摆脱应该显示的情况下的助记符。
答案 1 :(得分:0)
&安培;用于识别控件的助记符加速器...因此,传递给MessageDialog.openInformation
方法的文本可能被相同的逻辑解析。
我还没有深入挖掘SWT代码,但我无法找到一个特定的地方来处理'&'字符,所以它可能发生在操作系统级别。