[java] wyswietlanie wszystkich lini kolejno definiowanych

0

hej!
nie orientuje sie ktos jak w javie rysowac linie z punktu A do B, potem z B do C itd,ale tak by za kazdym razem pojawiala sie nowa linia,a poprzednie nie znikaly.staralem sie wrzucac poszczegolne wspolrzedne do tablicy, ale jakos nie chce zadzialac. dane kolenych punktow sa pobierane z 2 pol tekstowych.

0

Witam

Proponuję takie rozwiązanie:

import javax.swing.;
import java.awt.
;
import java.util.*;

public class tst
{

public Vector punkty;
public JPanel canvas;

public tst()
{
	punkty = new Vector();
	JFrame frm = new JFrame();
	frm.getContentPane().setLayout(new BorderLayout());
	frm.setDefaultCloseOperatio(JFrame.DISPOSE_ON_CLOSE);

	canvas = new JPanel()
	{
		public void paint(Graphics g)
		{
			super.paint(g);
			rysujLinie(g);
		}
	};
	frm.getContentPane().add(canvas);
	frm.setSize(300,400);
	frm.setVisible(true);
}

public void rysujLinie(Graphics g)
{
	for (int i=1;i<punkty.size();i++)
	{
		Point p1 = (Point)punkty.elementAt(i-1);
		Point p2 = (Point)punkty.elementAt(i);
		g.drawLine(p1.x,p1.y,p2.x,p2.y);
	}
}

            public void dodajPunkt(int x, int y) 
            {
                           punkty.add(new Point(x,y));
                           canvas.repaint();
             }

public static void main(String [] args)
{
	tst t = new tst();
                            //dodanie punktów
	t.dodajPunkt(50,20);
	t.dodajPunkt(70,30);
	t.dodajPunkt(45,80);

}

}

Pozdrawiam

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