"Point2DDouble cannot be cast... "

0

Hey wszystkim, mam problem z kilkoma błędami. W ramach ćwiczeń i zdobywania doświadczenia na własną rękę chciałbym napisać w Java2D, wykres w układzie współrzędnym w pogoni za Moją koncepcją, wykres znajdował by się w prostokącie ( tak gdzieś wyczytałem, że łatwiej jest w nim zrobić go ) i składał by się z punktów tworzonych metodą Point2D.Double(x,y), niestety napotkałem problemy jak je wyświetlić/narysować w okienku. Metoda g.draw(...) nie obsługuje owej klasy i niestety nie mogę jej użyć, Eclipse podpowiedziało mi rzutowanie Shape na cały nowy obiekt. Uzyskałem po kompilacji tego typ błąd : java.awt.geom.Point2D$Double cannot be cast to java.awt.Shape. Jeśli ktoś mógłby mi podpowiedzieć czy w dobrą stronę się kieruję i jak mogę naprawić to.
Umieszczam kod klasy w której wszystko się dzieje.

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;

import javax.swing.JComponent;

public class DrawComponent extends JComponent{
    private static final int DEFAULT_WIDTH = 400;
    private static final int DEFAULT_HEIGHT = 400;

    public void paintComponent(Graphics g){
        Graphics2D g2d = (Graphics2D) g;
        Point2D.Double[][] tab = new Point2D.Double[100][100];
        double wsp_x = 100, wsp_y = 100;
        Rectangle2D rect = new Rectangle2D.Double(wsp_x,wsp_y,DEFAULT_WIDTH/2,DEFAULT_HEIGHT/2);
        g2d.draw(rect); 
        for(int x = 0 ; x < rect.getWidth() ; x++){
            for(int y = 0 ; y < rect.getHeight() ; y++){
                Point2D.Double p = new Point2D.Double(x,y);
                if(x==y)
                    tab[x][y] = p;
                g2d.draw((Shape) new Point2D.Double(tab[x][y].getX(),tab[x][y].getY()));

            }
        }
    }
    public Dimension getPreferredSize(){
        return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);
    }
}
0

Najprostszy sposób rysowania punktu, to

g.drawLine(x,y,x,y);

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0