Pfeil mit Text und Ereigniss

migo256

Grünschnabel
Hallo zusammen,
ich möchte einen Pfeil in Java2D darstellen. Dieser soll mit einer Beschriftung versehen werden. Nach doppelklick auf Pfeil oder Beschriftung soll ein Ereigniss ausgelöst werden.
Ich hatte zwar schon die Idee, einen unsichtbaren Button dahinter zu Plazieren oder eine ähnliche "Ferkellei" aber irgendwie möchte ich wissen, wie man es elegant Lösen kann.
Gruss
Migo
PS.: Wie wäre es, den Pfeile mit Text auf einem Canvas zu Zeichnen, und dann abzufragen ob der Canvas angeklickt wurde?
 
Zuletzt bearbeitet:
kannst das Ding nicht einfach in einen JPanel packen, ihn dort zeichnen lassen und ein implements Mouselistener machen? also ungefähr so

Code:
public class meineKlasse extends JPanel implements MouseListener
{
  public meineKlasse()
  {
    this.setBounds(10,10,50,30); //Nur Beispiel. Hier die Stelle deines Bildes plus Text einfügen.
  }

  public void renderPfeil(Graphics g)
  {
    //Diese Methode Zeichnet nur. Musst du aus der paintComponent oder paint Methode deines Zeichenbretts ausführen.
    Graphics2D g2D = (Graphics2D) g;
    g2D.drawImage(PfeilImage,.....);
    g2D.drawString(Text,....);
  }

  //Hier die Abstracten Methoden von MouseListener einfügen
}
 
Das klappt soweit. Nur kann ich leider keine 2 davon Zeichnen:


GNachricht gnb=new GNachricht();
gnb.setLaufendeNummer(2);
this.jScrollPane1.addMouseListener(gnb);
jScrollPane1.getViewport().add(gnb,1);
Das geht, nur sobald ich einen 2. Zeichne ist der erste weg.
Die laufende Nummer sorgt übrigens dafür, dass die zwei Nachrichten nicht auf dem selben Fleck positioniert sind.
 
Zurück