/ / Kleines Problem in Java Swing - Java, Swing, AWT

Kleines Problem in Java Swing - Java, Swing, AWT

Ich habe die Klasse ToolTipUI definiert, die erweitert wurdeBasicToolTipUI für den Vorschlag, TipText der Schwungkomponente zu malen, habe ich das Trennzeichen "|" (senkrechter Strich) verwendet, um zwei Phasen von TipText zu unterscheiden. Der gesamte Text vor diesem Begrenzungszeichen wird als normaler QuickInfo-Text betrachtet, und der gesamte Text nach diesem Begrenzungszeichen wird als Beschleunigerbindungstext betrachtet.

Wie Sie wissen, ist der senkrechte Strich ("|") ein ziemlich übliches Zeichen, das normalerweise in einer Zeichenfolge verwendet wird. Wenn dies der Fall ist, sollte es nicht als Trennzeichen betrachtet werden und es hat eine echte Bedeutung. Zum Beispiel:

label.setToolTipText("<HTML><BODY><LEFT>V1|V2</BODY></HTML>"); Normal use
label.setToolTipText("<HTML><BODY><LEFT>V1V2</BODY></HTML> | ctrl+v"); Use as delimiter

Mein Problem ist ToolTipUI weiß nicht, wie ich das jetzt anders identifizieren kann, ich kann das Trennzeichen "|" nicht auf einen anderen ungewöhnlichen Wert für einen speziellen Vorschlag ändern.

Hat jemand eine Idee?

Vielen Dank

Antworten:

2 für die Antwort № 1

Wenn Sie den Vorschlag von Mark Elliot nicht verwenden können, das Argument als zwei getrennte Strings zu übergeben, dann könnte etwas in dieser Richtung helfen oder die Dinge verschlimmern:

  private int delimPosition(String s) {
int eos = s.toLowerCase().lastIndexOf("</html>");
return s.indexOf("|", eos+1);
}

(Als Ersatz für verwendet werden s.indexOf("|") dass ich vermute, dass Sie gerade verwenden.

Obwohl ich vermute, dass Sie bei dieser Methode wahrscheinlich ein erhebliches Ausmaß an eskalierender Komplexität haben werden, sobald alle Eckfälle ausgearbeitet sind. Vielleicht besser, um jetzt neu zu gestalten.