No no. Occhio che Rectangle/Rectangle2D trattano x, y, width, height (e gli argomenti di setRect sono proprio questi in quest'ordine).Originariamente inviato da AuéIC
Se ho un rettengolo
Successivamente se applico contains in questo modocodice:Rectangle2D r = new Rectangle2D.Float(); r.setRect(1, 1, 6, 6);
Mi restituisce false, così per ogni coordinata che contiene un 7 o in X o in Y.codice:r.contains(7, 7)
E non capisco perché visto che se stampo i valori del rettangolo ottengo questo:
codice:miniX= 1.0 maxX=7.0 miniY= 1.0 maxY= 7.0
Quindi setRect(1, 1, 6, 6) vuol dire che in orizzontale è largo 6 e che le coordinate x contenute nel rettangolo vanno da 1 (incluso) a 7 (escluso).
La implementazione di contains di Rectangle2D è corretta, infatti fa:
Quindi 7 < 1 + 6 è false.codice:double x0 = getX(); double y0 = getY(); return (x >= x0 && y >= y0 && x < x0 + getWidth() && y < y0 + getHeight());