Bonjour. Je suis débutant en java et j’ai un peu de peine avec un programme. Donc je récupère les valeurs de type double x et y d’un fichier texte, je crée un point avec ces valeurs et ensuite je stuque le point crée dans une variable de type vector, que je dois utiliser pour créer un points graphiquement. Je traite ca dans la classe Datapoints et je comprends pas comment les passer à la classe DessinPoints pour les afficher ensuite. Merci pour votre aide. Voila les fichiers.
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import geomD2.*;
import dataPoints.*;
public class Grapheur {
public static void main(String[] args) {
DataPoints listePts = new DataPoints("fichierPoints.txt");
System.out.println(listePts);
DessinPoints monGraphe = new DessinPoints(listePts,600,400,10,10);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Fenetre f = new Fenetre();
f.add(monGraphe,"Center");
f.setTitle("Grapheur");
f.setSize(400,400);
f.setVisible(true);;
}
}
package dataPoints;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import geomD2.*;
public class DataPoints extends Vector<Vector<PointD2>> {
double min_x, min_y, max_x, max_y;
Vector<PointD2> vectPoint;
public DataPoints(String fichier) {
LineNumberReader lecteurLignes = null;
try {
lecteurLignes = new LineNumberReader(new FileReader(fichier));
String ligneTexte = null;
vectPoint = new Vector<PointD2>();
while ((ligneTexte = lecteurLignes.readLine()) != null) {
StringTokenizer st = new StringTokenizer(ligneTexte);
if (st.countTokens() == 2) {
//System.out.println(ligneTexte);
Double TempX = new Double(st.nextToken());
Double TempY = new Double(st.nextToken());
PointD2 Point = new PointD2(TempX,TempY);
// stocker les points dans le vecteur courant
vectPoint.add(Point);
}
if (st.countTokens() == 4) {
// ? complÈter
Double TempX = new Double(st.nextToken());
Double TempY = new Double(st.nextToken());
PointD2 Point = new PointD2(TempX,TempY);
Double TempX2 = new Double(st.nextToken());
Double TempY2 = new Double(st.nextToken());
PointD2 Point2 = new PointD2(TempX2,TempY2);
DroiteD2 Droite = new DroiteD2(Point,Point2);
//vectPoint.(Droite);
}
}
System.out.println(vectPoint);
}
catch(Exception e) { e.printStackTrace(); }
min_max();
}
private void min_max() {
// trouver les coordonnÈes extrÍmes {min_x}, {max_x}, {min_y},
// {max_y} des points stockÈs dans le vecteur courant
}
}
package dataPoints;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import geomD2.*;
public class DessinPoints extends JPanel {
DataPoints listePts;
int bord; // taille des bords
int enveloppe; // dimension des rectangles
public DessinPoints(Vector pts,
int largeur, int hauteur,
int bord, int enveloppe) {
// Constructeur:
// {largeur} et {hauteur} permettent de fixer la taille du JPanel
// avec la mÈthode {setPreferredSize()}
this.bord=bord;
this.enveloppe=enveloppe;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setXORMode(Color.red);
// lire les points de {listePts} et dessiner les rectangles et les droites
// correspondants
}
}
Edité le 06/12/2009 à 15:13