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á!
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.*;
/*
* Desenho.java
*
* Created on 7 de Setembro de 2007, 20:17
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author andreduarte
*/
public class Desenho extends JFrame implements ActionListener
{
JTextField tempo, velocidade;
JButton Gerar;
JPanel Painel;
private int x;
private int y;
private int x1;
private int y1;
/** Creates a new instance of Desenho */
public static void main (String [] args)
{
JFrame Janela = new Desenho();
Janela.show();
}
public Desenho()
{
setTitle("Gerando um Gráfico");
setSize(500,350);
setLocation(150,100);
Painel = new JPanel();
Painel.setLayout (new GridLayout(7,5));
tempo = new JTextField();
velocidade = new JTextField();
Gerar = new JButton("Gerar");
Gerar.addActionListener(this);
getContentPane().add(tempo);
getContentPane().add(velocidade);
getContentPane().add(Gerar);
}
public void actionPerformed(ActionEvent e)
{
int t, v;
t = Integer.parseInt(tempo.getText());
v = Integer.parseInt(velocidade.getText());
Gerador grafico = new Gerador();
int coordenadas;
coordenadas = grafico.paint(t, v);
}
}
final class Gerador extends java.awt.Component
{
private int tempo;
private int velocidade;
public void paint(Graphics g, int tempo, int velocidade)
{
g.setColor(Color.BLUE);
g.drawLine(350,400,750,400);
g.drawLine(350,0,350,400);
g.drawLine(0,0,tempo*50,velocidade*50);
}
}