Partage
  • Partager sur Facebook
  • Partager sur Twitter

graphique en Java

    12 avril 2011 à 12:12:53

    Bonjour

    Probleme partir du fichier data.txt()data obtenir un graphe comme cecigraphe

    Voici mon code

    import java.applet.*;
    import java.awt.*;
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    
    public class Drawtree extends Applet {
    
       int width, height;
      
        private int x1;
    	private int y1;
    	private int x2;
    	private int y2;
    	ArrayList<String> listes = new ArrayList();
    
       public void init() {
          width = getSize().width;
          height = getSize().height;
          setBackground( Color.black );
          String filePath = "data.txt";
          
    	   BufferedReader buff = null;
    	try {
    		buff = new BufferedReader(new FileReader(filePath));
    	} catch (FileNotFoundException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    		
    		String line;
    		int cpt;
    		
    		cpt = 0;
    		while (cpt < 10)
    		{
    			try {
    				line = buff.readLine();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			cpt++;
    		}
    		try {
    			while ((line = buff.readLine()) != null)
    				listes.add(line);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
       }
    
       
       
       public ArrayList<String> getListes() {
    	return listes;
    }
    
    
    
    public void setListes(ArrayList listes) {
    	this.listes = listes;
    }
       
       public void paint( Graphics g ) {
    	   
        int width,heigh;
       	width = getSize().width;
       	heigh = getSize().height;
       	setBackground(Color.BLACK);
       	
       	String line, line2;
    
       	String []save;
       	String []save2;
       
       	listes = this.getListes();
       	g.setColor(Color.green);
       
       	int sizeX=getSize().width;
    	int sizeY=getSize().height;
    	int scaleX=sizeX/30;
    	int scaleY=(sizeY-70)/30;
       	for (int i = 0; i < listes.size(); i++)
       		{
       			line = (String)listes.get(i);
       			g.setColor(Color.green);
       		    //g.drawString(line, 0, 0);
       			save = line.split(" ");
       		    g.drawString(line, 0, 0);	
       			line2 = (String)listes.get(++i);
       			save2 = line2.split(" ");
       			x1 = (int)Float.parseFloat(save[1])/100;
    	    	y1 = (int)Float.parseFloat(save[2])/100;
    	    	x2 = (int)Float.parseFloat(save2[1])/100;
       			y2 = (int)Float.parseFloat(save2[2])/100;
       			
       			g.translate(10, 10);
       			g.setColor(Color.green);
       			
       			g.drawRect(x1, y1,1,1);
    
       			g.drawRect(x2, y2,1,1);
       		
          }
       	
       }
    }
    


    resultat des courses mon graphe ne correspond pas du tout a celui du site??? pourriez m aidez a y voir plus claire et pourquoi j ai pas le meme graphe
    • Partager sur Facebook
    • Partager sur Twitter
      13 avril 2011 à 12:24:21

      Bonjour,
      Et t'obtiens quoi?
      Sous quel format sont les données dans ton fichiers texte? ok c'est le lien data de ton post
      ->Ben je dirais que tu lis mal ton fichiers puisque tu ne sépares pas le texte des nombres
      • Partager sur Facebook
      • Partager sur Twitter
      ** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
        13 avril 2011 à 14:09:25

        ENFIN une reponse!!!

        @breizhbugs
        <code type = "java">

        while (cpt < 10)
        {
        try {
        line = buff.readLine();
        } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
        cpt++;
        }
        try {
        while ((line = buff.readLine()) != null)
        listes.add(line);
        } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
        </code>

        Ma première boucle pour récupéré pour éliminer la partie texte et la seconde pour récupérer les coordonnées; ce qui fait que je récupéré bien les infos dont j ai besoin c a d les coordonnées.
        Enfin ce que je ne comprend pas comment sont ils arrives a faire un tel graphe a partir de ce fichier; parce que même en plaçant les points a la main le graphe obtenu ressemble plutôt a espèce de droite??? je suis vraiment bloque la.
        • Partager sur Facebook
        • Partager sur Twitter

        graphique en Java

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown