Witam. Otóż mam taki kod
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
public class Linear
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
SimpleFrame frame = new SimpleFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
/**
* Ramka zawierająca panel z komunikatem.
*/
class SimpleFrame extends JFrame
{
public SimpleFrame()
{
setTitle("Wykres");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLocationByPlatform(true);
// Dodanie panelu do ramki.
LinearFunction panel = new LinearFunction();
add(panel);
}
public static final int DEFAULT_WIDTH = 500;
public static final int DEFAULT_HEIGHT = 500;
}
/**
* Rysowanie wykresu
*/
class LinearFunction extends JPanel
{
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D) g;
//Rysowanie ukladu wspolrzednych
Line2D.Double ox=new Line2D.Double(0,250,500,250);
Line2D.Double oy=new Line2D.Double(250,0,250,500);
g2.draw(ox);
g2.draw(oy);
//Opisujemy osie
//OX
for(int i=0;i<=500;i=i+50)
if(i!=250)
g2.drawString(new Integer(i-250).toString(),i, 260);
//OY
for(int i=0;i<=500;i=i+50)
if(i!=250)
g2.drawString(new Integer((i-250)*-1).toString(),250, i);
}
}
I teraz metoda paintComponent odpowiada za rysowanie wykresu funkcji liniowej. Chciałem ro zrobić w ten sposób, że rysuje punkty z klasy Point2D.Double lecz ta klasa nie implementuje interfejsu Shape i nie moge przekazac go do g2. Co mogę w tej sytuacji zrobić?