2 Antworten

Anstatt dieselbe Frage fünf mal zu stellen, bitte einmal ausführlich, dann sollte man dir auch richtig helfen können.

Wieso wird in der for-Schleife immer false ausgegeben

Können wir dir nur mit dem kleinen Codesnippet nicht sagen. Dazu müsste man wissen wie die Kästchen befüllt worden sind. Wenn du die Kästchen mit "new" Objekten vergleichst, kommt da nie wahr raus.

Du lässt uns damit einfach nur raten.

Du setzt equals in deinem Kontext einfach falsch ein. Wende Equals auf String-Ebene an:

1. Erstelle eine eigene Image Klasse, z.b. ImageExt, welche von Image erbt. dann erstelle dir für die URL einen getter.

if (rect.getFill() instanceof ImagePattern) {
ImagePattern rectImagePattern = (ImagePattern) rect.getFill();
if (rectImagePattern.getImage() != null && rectImagePattern.getImage() instanceof ImageExt) {
ImageExt img = (ImageExt) rectImagePattern.getImage(); if (img.getURL.equals(bildURL) { ... }
}
}
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gut4fr5g4
23.07.2016, 14:14

habs mitlerweile verstanden (mein problem war, dass es zwar die selbe datei aber NICHT die selbe instanz war :D)

Pacman habe ich jetzt endlich fertig! :D

0

Ein ImagePattern ist kein Image, deshalb muss der Vergleich immer fehlschlagen

Genereller Tipp: Fang klein an. Weise deinem Rectangle ein bestimmtes ImagePattern zu und probiere, ob du mit getFill das gleiche Objekt zurückbekommst. Wenn es nur eine Kopie ist, musst du dir etwas ganz anderes überlegen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gut4fr5g4
22.07.2016, 20:12

Wie funktioniert das denn mit Image?

0