Parameter rückgabe nach Prüfung an Klasse/Methode

cr3m4

Mitglied
Hallo,

also ich dachte ich hätte mich genug über Parameterübergaben informiert, abscheinend nicht.
Mein Problem ist:
Ich habe eine Klasse, welche eine Grafik definiert (Rechteck).
Dort gibt es auch eine Methode, welche prüft, ob die übergebene Mausposition, innerhalb des Rechtecks liegt.
Nun will ich den boolschen wert auch an die Klasse, welche die Instanz "Rechteck" aufruft, zurückliefern.

Mein Ansatz lautet momentan wie folgt:

In der Ursprungsklasse habe ich einen MouseListener der in der Methode:

Code:
public void getMousePosition(int pressedX, int pressedY)
		{

                        new DrawRectangle().draw(g2, pressedX, pressedY);

		}

eine neue Instanz der Klasse DrawRectangle erzeugt und die Mausposition an die Methode draw übergibt.

In der Methode Drawrectangle().draw ist eine Prüfung vorhanden, die unterschiedliche Aktionen bewirken wenn das Rechteck angeklickt wird:

Code:
...
if(pressedX>=pos_x && pressedX<=pos_x+boxWidth && pressedY>=pos_y && pressedY<=pos_y+boxHeight)	
				{
                                 ... 
                                inBox=true;   //lokale Variable
				}
				else
				{
                                 ...
				}
...

Hier die Methode für den boolschen Rückgabewert:

Code:
public boolean getInBox()	//liefert true/false an ImageLoader für Popupmenü
		{
			return inBox;
		}

und hier die Übergabe des Wertes an die andere Klasse (wird im Mouselistener bei Klick ausgefürt):
Code:
public boolean inBox=new DrawRectangle.getInBox();

Leider liefert die Methode nicht den aktuellen wert. Also was mache ich bei dieser Wertübergabe falsch?
(Hoffe ihr blick beid er Problembeschreibung durch :) )

danke
 

zeja

Erfahrenes Mitglied
Also der Sinn und Zweck einer Methode ist es nicht jedes Mal vor dem Aufruf ein neues Objekt zu erzeugen. Leg doch das Objekt in deiner Klasse ab und ruf dann die Methode auf:
Java:
private DrawRectangle drawRectangle;
private void createObject(){
this.drawRectangle = new DrawRectangle();
}

private void otherMethode(){
this.drawRectangle.getInBox();
}
 

Neue Beiträge