2016-04-28 8 views
0

Ist es in Java möglich, Text von einem Tooltip in einer GUI zu bekommen, die ich nicht gemacht habe. Zum Beispiel kann ich in einem Webbrowser oder auf einer Desktop-Anwendung mit meinem Java-Programm im Hintergrund ausgeführt werden. Ich möchte alle Tooltip-Informationen erhalten, die (jederzeit) erscheinen und sie an das Java-Programm zurückgeben.Java get Tooltip Info

Nur um zu verdeutlichen, dass ich nicht danach frage, wie man Tooltips erstellt oder Tooltip-Daten in gui erhält, mache ich nur Tooltips, die in anderer Software von Drittanbietern erscheinen. Vielen Dank.

Antwort

1

Der Tooltip Text muss "irgendwo" in der Software sein. „Irgendwo“ kann eine Handvoll von verschiedenen Orten, je nachdem, wie die Software gebaut und vertrieben:

  • Stringliterale in dem Sourcecode (und damit im Bytecode, auch), geschah dies häufig zu nicht-internationalisierte Programme
  • Ressourcenbündel, dh die Strings aus dem Quellcode in eine separate Datei (in der Regel eine pro unterstützt UI-Sprache)

Wenn die Software verteilt als * .jar-Datei, verwenden Sie Ihre Lieblings unzip externalisiert werden -software zu dekomprimieren ist (im Zweifelsfall 7zip).

Suchen Sie nach * .properties-Dateien, diese können die Ressourcenpakete (= Sammlung von UI-Text-Strings) enthalten, nach denen Sie suchen.

Wenn Sie keine Ressourcenbündel finden, ist der QuickInfo-Text wahrscheinlich in String-Literalen direkt im Bytecode verborgen. Benutze sowas wie Strings (1) auf * nix-ish-Plattformen (kein Link für diesen, scheint mir, dass ich nur 2 Links schreiben kann) oder Strings unter Windows, um die druckbaren Strings aus den * .class-Dateien zu extrahieren.

Beachten Sie, dass Sie Lose von druckbaren Zeichenfolgen dort finden können, also möchten Sie sie möglicherweise mit einem geeigneten regulären Ausdruck filtern.