Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: MouseListener auf Grafik

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337

    MouseListener auf Grafik

    Gibt es eine Möglichkeit auf eine Grafik einen Mouselistener zu legen?

    public void zeichneDich(Graphics grap)
    {grap.fillRoundRect(Breite,Hoehe, Breite,Hoehe,Rundung,Rundung);}

    Es soll beim Doppelklick auf das Rechteck ein neues Fenster aufgehen.

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Die Grafik auf einen Button/Label/Panel... legen...

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Uh, das wird ganz schön schwierig.
    Ich habe schon eine ganze Menge an Schachtelungen durch die Scrollbars.

  4. #4
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Deine Idee habe ich jetzt realisiert.
    Es klappt wunderbar.
    Doch jetzt habe ich ein absolutes Anfängerproblem
    Ich habe eineTextarea

    JTextArea person = new JTextArea();
    person.setBounds(x,y,Breite,Hoehe);
    person.addMouseListener(this);
    this.add(person);


    Allerdings brauche ich jetzt ca 1000 solcher JTextAreas.
    Gibt es da eine Schleife?
    In PHP mache ich das mit einem Array!?!?

  5. #5
    Registrierter Benutzer Avatar von Detrius
    Registriert seit
    09.03.2004
    Ort
    Altena
    Beiträge
    64
    Und warum sollte ein Array in Java nicht gehen?

  6. #6
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Weil ich die Syntax nicht kenne und auch nicht finde; ist eben trivial.

    private JTextArea person[] = new JTextArea[100];

    for(int i=1; i<3; i++){
    person[i] = new JTextArea();
    person[i].setBounds(x,y,Breite,Hoehe);
    }

    Funktioniert eben nicht!

  7. #7
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    1000, in Worten "tausend", TextAreas in einem Parent?

    Aber deine Schleife sollte gehen, nur besser bei 0 starten, Java Arrays beginnen bei Index 0.
    Was ist denn das beobachtete Fehlverhalten? Oder kompiliert es nicht?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  8. #8
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Objekte (in diesem Fall JTextArea kannst du nicht als Array erzeugen! afaik). Abhilfe: Ein Objekt JTextArea machen und danach 1000 mal mittels new ein neues Objekt erzeugen. Danach gibts eine Funktion (Namen weiss ich gerade nicht mehr), mit welcher du alle deine Objekte auf einem Panel,... bekommen kannst. Diese gibt dann afaik ein Object-Array zurück.

    MfG Bischi

    PS: Vielleicht hab ich jetzt auch Mist erzählt - in dem Fall bitte einfach ignorieren (was man mit Objekten in Java darf, und was nicht, ist mir manchmal nicht so 100% klar...)

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  9. #9
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Dieser Array funktioniert doch.
    Ich hatte im gleichen Projekt den Code einer Klasse zur Sicherheit unter einem "falschen" Klassennamen abgespeichert, damit ich ihn gleich wieder habe.
    Das waren alles Bugs und das hat offensichtlich das Projekt ruiniert.

  10. #10
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Arrays zu verwenden ist aber nicht objektorientiert wuerde jetzt unser alter Uebungsleiter sage.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  11. #11
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    ist auch was dran. Arrays sind dann ok, wenn die Elementzahl genau feststeht und man ohnehin eher einen prozeduralen Stil pflegt. Schöner gehts mit collections.
    Das Ziel ist das Ziel.

  12. #12
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Ich werd mir mal collections ansehen.
    Ich lern doch erst seit einer Woche Java;
    und bin schon wieder auf den Bauch gefallen.

    Mit JTextAreas und dem Mouselistener kann ich ja keine Informationen an ein anderes Fenster weiterleiten.
    Vom Mouselistener bekomme ich ja gerade mal die x,y Koordinaten,
    aber nicht welche JTextArea ich angeklickt habe.

    Actionlistener und JButtons will er auf dem JPanel nicht.
    Oder mache ich was falsch?
    Ich habe eine Menge Felder auf die ich klicken will und er soll mir eine Zahl zurückgeben.

  13. #13
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von Jana
    Mit JTextAreas und dem Mouselistener kann ich ja keine Informationen an ein anderes Fenster weiterleiten.
    Vom Mouselistener bekomme ich ja gerade mal die x,y Koordinaten,
    aber nicht welche JTextArea ich angeklickt habe.
    Doch - mittels "event".getSource() - zumindest dann, wenn du ihnen eindeutige Namen vergeben hast (oder in deinem Fall sollte Array+nummer auch gehen).

    An andere Fenster ist relativ relativ: Was verstehst du genau als anderes Fenster? Anderer Prozess? Anderer Thread? Gleicher Thread?
    Actionlistener und JButtons will er auf dem JPanel nicht.
    Oder mache ich was falsch?
    Also JButtons gehen auf jeden Fall auf ein Panel drauf...

    Ich habe eine Menge Felder auf die ich klicken will und er soll mir eine Zahl zurückgeben.
    Ähm - nur mal so ne Frage am Rand: Was machst du eigentlich genau? Ich könnte mir vorstellen, dass es da eine einfachere Lösung gibt...

    Mfg Bischi

    PS: Erst eine Woche Java? Nischt schleschtsch....

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  14. #14
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Ich habe auf dem JPanel eine Menge Personen ca 1000+
    Jetzt möchte ich auf eine Person klicken und dann in einem neuen Fenster
    die Angaben (Nachname,Vorname ect) zu dieser Person verändern.
    Die Zeichnung, dh. Boxen veranschaulichen den Bezug der Personen zueinander - sprich den Verwandschaftsgrad.
    Das ganze soll eine Ahnentafel werden.
    Aber eigentlich will ich Java lernen.

  15. #15
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Klasse, hat geholfen!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •