Witam
jak zrobic animowany wykres, tzn po wcisnieciu guzika "START" zaczyna sie rysowac wykres sinusoida, zeby ten wykres "plynal" i "Stop" zatrzymujemy. Ma to dzialac w aplecie z zakladkami. wzor na sinusoide jest w "// zakladka mostek"
Zalaczam ponizej fragment kodu
public void paintComponent(Graphics g ) {
super.paintComponent(g);
//zmienne y-kowe do wykresów
double y = 0, b = 0, wz = 0, wzb=0;
//zakladka DIODA
if (typFunkcji == "Dioda")
{
//osie
g.setColor(Color.BLACK); //kolor osi czarny
g.drawLine(100, 50, 100, 250);
g.drawLine(0, 150, 150, 150);
g.drawLine(100,50,97,55);
g.drawLine(100,50,103,55);
g.drawLine(150,150,145,153);
g.drawLine(150,150,145,147);
//przeciecie uf if
g.drawLine(111,155,111,140);
g.drawLine(95,140,111,140);
Image rys = getImage(getDocumentBase(),"images/id.jpg");
g.drawImage(rys, 106,50, this);
Image rys2 = getImage(getDocumentBase(),"images/uk.jpg");
g.drawImage(rys2, 140,130, this);
Image rys3 = getImage(getDocumentBase(),"images/dioda.jpg");
g.drawImage(rys3, 10,255, this);
Image rys7 = getImage(getDocumentBase(),"images/uf.jpg");
g.drawImage(rys7, 109,158, this);
Image rys8 = getImage(getDocumentBase(),"images/if.jpg");
g.drawImage(rys8, 80,135, this);
//wykres czerwony
g.setColor(Color.RED);
if(fps>0)
{
for(int j=0; j<=fps;j++)
g.drawPolyline(diod_x1, diod_y1, j);
}
}
//zakladka MOSTEK
else if (typFunkcji == "Mostek"){
//osie cha-yka wejsciowa
g.setColor(Color.BLACK);
g.drawLine(0, 100, 200, 100);
g.drawLine(21, 40, 21, 150);
g.drawLine(21,40,18,45);
g.drawLine(21,40,24,45);
g.drawLine(200,100,195,103);
g.drawLine(200,100,195,97);
//osie cha-yka wyjsciowa
g.drawLine(0, 210, 200, 210);
g.drawLine(21, 155, 21, 220);
g.drawLine(21,155,18,160);
g.drawLine(21,155,24,160);
g.drawLine(200,210,195,213);
g.drawLine(200,210,195,207);
Image rys5 = getImage(getDocumentBase(),"images/ug.jpg");
g.drawImage(rys5, 29,33, this);
Image rys6 = getImage(getDocumentBase(),"images/ul.jpg");
g.drawImage(rys6, 29,148, this);
Image rys17 = getImage(getDocumentBase(),"images/t.jpg");
g.drawImage(rys17, 205,95, this);
Image rys18 = getImage(getDocumentBase(),"images/t.jpg");
g.drawImage(rys18, 205,205, this);
g.setColor(Color.GREEN);
//
//
//SINUSOIDA
//
// fps3, fps2 -okres, ampliduta (suwaki)
for (double x = 0; x < 189; x += 0.1) {
y = (Math.sin(x * fps3/20) * fps2*5 + 100);
g.drawLine((int) x, (int) y, (int) x, (int) y);
/* try{ Thread.sleep(1);
}catch (InterruptedException t){}*/
}
g.setColor(Color.RED);
for (double a = 0; a < 189; a += 0.1) {
b = (Math.sin(a * fps3/20) * fps2*5 +210);
if(b>=210)
{
b = 210+ (210-(Math.sin(a * fps3/20) * fps2*5 +210));
g.drawLine((int) a, (int) b, (int) a, (int) b);}
else {b = (Math.sin(a * fps3/20) * fps2*5 +210);
g.drawLine((int) a, (int) b, (int) a, (int) b);}
}
Image rys4 = getImage(getDocumentBase(),"images/mostek.jpg");
g.drawImage(rys4, 20,230, this);
}
}
`</code>`