Динамический график
Вопрос, как сделать так, чтобы график показывался постепенно, например, с интервалом 1с.
Мой код, который не работает:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Cardiography
{ public static GraphFrame frame = new GraphFrame();
public static void main (String[] args)
{
System.out.println("................");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class GraphFrame extends JFrame
{ public static GraphPanel panel = new GraphPanel();
public GraphFrame()
{
setTitle("Main W");
setSize(500, 500);
Container pane = getContentPane();
pane.add(panel);
}
}
class GraphPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// Draw axes;
g.drawLine(20, 220, 20, 350);
g.drawLine(20, 350, 360, 350);
g.drawString("Y", 25, 230);
g.drawString("X", 350, 346);
// Draw a curve;
int[] xArray = {20, 40, 60, 80, 100, 120, 130, 140, 280, 332};
int[] yArray = {350, 345, 340, 310, 290, 280, 275, 273, 271, 269};
int nPoint = 10;
Color newColor = new Color(0, 0, 255);
g.setColor(newColor);
g.drawString("y = f(x)", 180, 267);
for (int i = 0; i < 10; i++){
try {Thread.sleep(1000);}
catch(InterruptedException e) {}
g.drawLine(i*20, i*40, i*10, i*25);
//Cardiography.frame.validate();
//Cardiography.frame.show();
GraphFrame.panel.validate();
GraphFrame.panel.repaint();
}
g.setColor(newColor);
//Cardiography.frame.show();
}
}
Да и еще... твой код полное г**но.
пример простейшей анимации с линейной интерполяцией можно найти тут -> смотри со строки 714 и до конца