1
JFaceメニューマネージャを使用しています。いくつかのメニュー項目には@
の文字が含まれています。たとえば、電子メールをメニュー項目のリストとして表示している場合などです。JFaceメニューラベルで '@' charをエスケープする方法
これを実行すると、メニューには@
の文字はそのまま表示されますが、以下に示すようにスペースが挿入されます。
IMenuManager mgr = ...
mgr.add(new Action("[email protected]") {
@Override
public void run() {
// Action run
}
});
私の質問は、どのように我々は@
文字をエスケープしますされ、次のよう
コードメニューエントリを作成するには?
私が '@'を二重にすると、SWTは最初の '@' charを表示しますが、その後にスペースを追加します。例えば、 'foo @@ bar.org'と指定すると、' foo @ bar.org'と表示されます。 – singularity
もう一つ興味深い発見です。 '@'を持つ項目については、別の '@'の後に接尾辞を付けます。これでメニュー項目がそのまま表示されます(最後にユーザーが見えないスペースがある可能性があります)。したがって、単一の '@'があれば、それはスペースとして表示されます。 2つの '@ 'がある場合、最初の' @'をそのまま表示し、2番目のものをスペースに変換します。 – singularity
あなたはmacOSを使用しているようですが、メニュー項目の作成に使用するコードを投稿できますか? –