Desenho de um Gráfico

0 respostas
andrerduarte

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);
                        
                 }
    
}
Criado 20 de setembro de 2007
Respostas 0
Participantes 1