Wir verwenden den JFace-Menü-Manager. Einige unserer Menüpunkte enthalten @
Zeichen. Zum Beispiel, wenn wir E-Mails als eine Liste von Menüpunkten anzeigen.So entziehen Sie ein @ -Zeichen in den JFace-Menübezeichnungen
Wenn wir das tun, zeigt das Menü nicht das @
Zeichen wie es ist, sondern führt ein Leerzeichen ein, wie unten gezeigt.
Der Code, um die Menüeinträge zu erstellen, ist wie folgt:
IMenuManager mgr = ...
mgr.add(new Action("[email protected]") {
@Override
public void run() {
// Action run
}
});
Meine Frage ist, wie kann entkommen wir die @
char?
Wenn ich '@' sie verdopple, zeigt SWT zuerst '@' char, aber fügt Raum danach hinzu. Zum Beispiel, wenn ich 'foo @@ bar.org' spezifiziere, wird es als' foo @ bar.org' angezeigt. – singularity
Ein weiterer interessanter Fund. Für die Items, die '@' haben, habe ich einfach ein anderes '@' angehängt. Jetzt werden die Menüpunkte so angezeigt, wie sie sind (möglicherweise mit Leerzeichen am Ende, das der Benutzer nicht sehen kann). Wenn also ein einzelnes @ vorhanden ist, wird es als Leerzeichen angezeigt. Wenn es zwei '@' s gibt, zeigt es zuerst '@' wie es ist und wandelt das zweite in Leerzeichen um. – singularity
Sie scheinen Mac OS zu verwenden, könnten Sie den Code, den Sie zum Erstellen des Menüelements verwenden, veröffentlichen? –