0

JFace Messagedialog.openInformation ダイアログを使用しようとしていますが、メッセージ文字列にアンパサンド '&' 文字が含まれています。ダイアログを開いたときにアンパサンドが表示されません。試行錯誤の結果、文字列内のアンパサンドを && に 2 倍にすると表示されることがわかりました。

文字列内で & をエスケープしても効果はありません。

明らかに、文字列を system.out に書き込む場合、これは当てはまりません。したがって、文字列自体の問題ではありません。

これが発生する理由に関するドキュメントを探しています。

4

2 に答える 2

1

LegacyActionTools.escapeMnemonics(message)ニーモニックが表示されるべき状況で、ニーモニックをエスケープするために使用できます。

于 2015-04-24T09:31:24.790 に答える
0

& は、コントロールのニーモニック アクセラレータを識別するために使用されます。そのため、MessageDialog.openInformationメソッドに渡すテキストが同じロジックによって解析されている可能性があります。

私は SWT コードをあまり掘り下げていませんが、「&」文字を処理している特定の場所を見つけることができないため、OS レベルで発生している可能性があります。

于 2013-06-12T18:38:25.053 に答える