java frage zu equals?

... komplette Frage anzeigen

2 Antworten

Zumindest syntaktisch sollte das klappen (hab nur in die Doku geschaut). Rect.getFill() gibt ein Paint-Objekt zurück, ImagePattern erbt von Paint. Ob das, was du vorhast, logisch sinnvoll ist, ist die zweite Frage.

Gegenfrage: was hindert dich daran, selbst auszuprobieren, ob das klappt und falls nicht, hier eine konkrete Fehlermeldung reinzustellen und damit zu fragen? Bzw., falls die Bedingung nicht erfüllt ist, obwohl sie erfüllt sein soll, mal mit dem Debugger zu gucken, was in rect.getFill() und new ImagePattern(image) drin steht?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gut4fr5g4
22.07.2016, 15:17

Ich bin gerade nicht zuhause, aber wollte schonmal fragen

0

Wie ceevee schon richtig erklärt hat, geht es theoretisch schon.

Allerdings bei equals mit new zu vergleichen ist eigentlich schon zum scheitern verurteilt. - Denn diese Bedingung kann nicht erfüllt sein.

Wenn du zwei Images miteinander vergleichen willst, hol dir Zugriff auf das Image Objekt:

if (rect.getFill() instanceof ImagePattern) {
    ImagePattern rectImagePattern = (ImagePattern) rect.getFill();
    if (rectImagePattern.getImage() != null && rectImagePattern.getImage().equals(image)) {
      ....
} }
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?