JToolTip() an XY Koordinaten

  • Hi zusammen. Vielleicht kann mir ja ein Javarianer bei meinem Prob weiterhelfen.
    Ich hab in einem JPanel einen Canvas hinzugefuegt, welcher eine Graphics anzeigt. Angezeigt wird eine Punktemenge. jetzt will ich, wenn ich [mouseOver()] über einem Punkt stehe einen ToolTip mit den Koordinaten oder Wert (egal) des Punktes anzeigen. ich schaffs aber nicht, dass der Tooltip über dem Canvas angezeigt wird...
    Vielleicht hat ja jemand ne Idee.

  • tja Teile des codes bringen nichts, da ich den ToolTip wieder herausgenommen hab. mein Problem ist, dass ich einem Canvas keinen ToolTip hinzufügen kann und wenn ich es dem JPanel, in dem der Canvas liegt hinzufüge dann seh ich den ToolTip nur an Stellen, an denen der Canvas nicht liegt.
    Daher müßte ich einen ToolTip ohne JComponent erzeugen, der sozusagen erscheint, wenn ich mich mit der Maus an einer bestimmten xy Position befinde. Aber naja ka... :confused:

  • Brauchst du das Canvas überhaupt? Du könntest doch einfach auf das JPanel zeichnen, bzw. könntest du dem (Haupt-)JPanel ein weiters JPanel einfügen, auf das du dann zeichnest.

  • Zitat von Ubik

    Brauchst du das Canvas überhaupt? Du könntest doch einfach auf das JPanel zeichnen, bzw. könntest du dem (Haupt-)JPanel ein weiters JPanel einfügen, auf das du dann zeichnest.

    deSertXtall: Du solltest Ubik's rat folgen und statt eines Canvas einen weiteren JPanel verwenden. Canvas ist ein sehr alte Klasse aus dem AWT, die nicht sehr gut mit Swing-Komponenten (wie JPanel) zusammenspielt.

    Noch ein Tip: Wenn du in einem JPanel die paint(Graphics g) methode überschreibst, solltest du dort als erstes die paint-methode des parents aufrufen, also

    Code
    ...
    public void paint(Graphics gfx){
      super.paint(gfx);
      ...
    }
    ...

    Ich weiss jetzt nicht mehr so genau, welche probleme auftauchen können, wenn du das nicht tust. Ich weiss aber das es solche Probleme gibt :)

  • Du musst beim JPanel allerdings paintComponent() überschreiben, nicht paint().
    Und den Tip mit dem super.paintComponent() nicht vergessen, sonst wirst nicht viel sehen :D

    Hätten uns Spiele wie Pac-Man in unserer Jugend beeinflusst, würden wir heute durch dunkle Räume irren, elektronische Musik hören und Pillen fressen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!