mouseEvent

  • Themenstarter Themenstarter holdefee
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
H

holdefee

Gast
Hallo
Ich habe ein Spielfeld das aus lauter quadraten besteht. jedes quadrat ist ein exemplar meiner Klasse Spielfeldposition.
Jedes dieser Objekte implementiert MouseListener. Wenn ein SPieler am Zug ist wird er aufgefordert ein Spielfeld auszuwaehlen. Dazu möchte ich warten bis ein Objekt angeklickt wurde. Wenn das Objekt angeklickt wurde möchte ich an dieses Objekt herankommen um weitere Methoden daran aufzurufen. Wie realisiere ich das? ich komm einfach nicht an das Objekt ran.

Mfg
 
dnake fpr de antwort, ich hab mal etwas rumprobiert jetzt
und irgendwie klappt ea aber noch nicht
also die implementierung der mausevents in Klasse SPielfeldposition:

public void mouseClicked(MouseEvent e)
{
_ausgewaehlt = true;
}

und die Kontrolle in der Klasse Main ob eine spielfeldposiiton angewählt ist:

Code:
            boolean auswahlgetroffen = false;
            
            while(auswahlgetroffen == false)
            {
                for(int i=0; i<15; i++)
                {
                    for(int j=0; j<28; j++)
                    {
                        if(_spielbrett[i][j].gibAusgewaehlt() == true)
                        auswahlgetroffen = true;
                        startfeld = _spielbrett[i][j];
                        break;
                    }
                }
                try
                {
                    Thread.currentThread().sleep(50);
                }
                catch(Exception ex)
                {
                    
                }
            }

das spielbrett sind halt 15*28 objekte von spielfeldposition die auf die zeichenflaeche der Canvas implementierenden
zeichenflaeche in main gezeichnet werden. hm aber eigtl sind die spielflaechenpositionen ja nicht wirklich auf der zeichenflaeche sondern werden nur darauf gezeichnet. Jetzt weiß ich garnicht mehr wie ich das machen soll.^^

mfg
 
ok habs schon, jetzt klappt auch alles. nur eine Sache hab ich noch.
Wenn ich die position auswähle wird in dem spielflachenposition ausgewaehlt = true gesetzt. und in der paint methode von dem objekt wird wenn ausgewaehlt == true das Image ausgewaehlt gezeichnet. Wenn ich aber nach der auswahl der spielposition die paint() methode repaint() aufgerufen. wenn dies nur ein,al geschieht wird aber nicht das neue bild gezeichnet, sondern erst wenn man repaint 8(!) ma aufruft. wie kann das denn sein? repaint macht doch beim ersten mal genau dasselbe wie beim 8ten?
 
Meine Kristallkugel sagt mir, dass der Fehler woanders liegt: WIE und WANN lädst du denn das Bild, das gezeichnet werden soll, wenn ein Flad ausgewählt ist? Poste mal den Code, wo du das Bild lädst, und den Code der paint-Methode. (Und meine Befürchtung ist: Das ist beides dasselbe :wink: )
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben