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. }