Denenhar um Gráfico

O que estou tentando desenvolver, é algo de certa forma simples.
Um gráfico que mostre por exemplo velocidade em função do tempo.

  • Onde o usuário entra com os valores da coordenada, por exemplo:
    tempo será a coordenada: x ou a coordenada y, obviamente a velocidade será a outra coordenada que não fora escolhida.
  • Depois ele escolhe quantas coordenadas ele deseja enviar, e insere as coordenadas (tempo, velocidade).
  • Quando o usuário clicar no JButton Gerar, cria-se um novo JFrame por exemplo, pra já mostrar o gráfico desenhado.

Tentei várias classes, consegui, desenhar as linhas, consigo pegar os valores digitados nos JTextField, mas não consegui passar os valores digitados para a classe que desenha o gráfico.

O mais próximo que cheguei foi isso:

(Ah, neste exemplo que fiz ainda faltam o for das entradas e a escolha das coordenadas).

Se alguém puder me ajudar, agradeço desde já!

1. import java.awt.Color; 2. import java.awt.Graphics; 3. import java.awt.event.ActionEvent; 4. import java.awt.event.ActionListener; 5. import javax.swing.JFrame; 6. import javax.swing.*; 7. import java.awt.*; 8. /* 9. * Desenho.java 10. * 11. * Created on 7 de Setembro de 2007, 20:17 12. * 13. * To change this template, choose Tools | Template Manager 14. * and open the template in the editor. 15. */ 16. 17. /** 18. * 19. * @author andreduarte 20. */ 21. public class Desenho extends JFrame implements ActionListener 22. { 23. JTextField tempo, velocidade; 24. JButton Gerar; 25. JPanel Painel; 26. private int x; 27. private int y; 28. private int x1; 29. private int y1; 30. 31. /** Creates a new instance of Desenho */ 32. public static void main (String [] args) 33. { 34. JFrame Janela = new Desenho(); 35. Janela.show(); 36. } 37. 38. 39. public Desenho() 40. { 41. setTitle("Gerando um Gráfico"); 42. setSize(500,350); 43. setLocation(150,100); 44. Painel = new JPanel(); 45. Painel.setLayout (new GridLayout(7,5)); 46. tempo = new JTextField(); 47. velocidade = new JTextField(); 48. Gerar = new JButton("Gerar"); 49. Gerar.addActionListener(this); 50. getContentPane().add(tempo); 51. getContentPane().add(velocidade); 52. getContentPane().add(Gerar); 53. } 54. public void actionPerformed(ActionEvent e) 55. { 56. int t, v; 57. t = Integer.parseInt(tempo.getText()); 58. v = Integer.parseInt(velocidade.getText()); 59. Gerador grafico = new Gerador(); 60. int coordenadas; 61. coordenadas = grafico.paint(t, v); 62. } 63. } 64. 65. final class Gerador extends java.awt.Component 66. { 67. private int tempo; 68. private int velocidade; 69. public void paint(Graphics g, int tempo, int velocidade) 70. { 71. g.setColor(Color.BLUE); 72. g.drawLine(350,400,750,400); 73. g.drawLine(350,0,350,400); 74. g.drawLine(0,0,tempo*50,velocidade*50); 75. 76. } 77. 78. }