Problème de projet

Fermé
LouiseG Messages postés 3 Date d'inscription samedi 31 mai 2014 Statut Membre Dernière intervention 31 mai 2014 - 31 mai 2014 à 16:04
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 31 mai 2014 à 17:47
Bonjour je suis en IUT 1ère année et je dois rendre un projet de calcul de polynôme dans R la partie algorithme ne me pose pas de problème mais je dois aussi faire un interface graphique qui vas dessiner la courbe du polynôme. Pour calculer les valeurs pas de problème encore une fois mais pour ce qui est de tracer ça ne fonctionne pas. J'espère un coup de main de votre part et rapidement je dois rendre le projet pour lundi ^^. Merci de votre aide par avance

PS : Voila le code que j'ai fais je pense que c'est la fonction courbe qui plante
/*
 *interfaceGraphique.java				26 mai 2014
 * IUT info1 2013-2013 Groupe 2 
 */
package FonctionR;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * TODO comment class responsibility
 * @author Louise
 *
 */
public class interfaceGraphique extends JFrame {

	/**
	 * TODO method comment
	 * @param args unused
	 */
	public static void main(String[] args){
		interfaceGraphique intheface = new interfaceGraphique();
	}

	/**
	 * TODO comment initialisation state
	 */
	public interfaceGraphique(){
		// titre de la fenètre 
		this.setTitle("Courbe - Babble");
		// affiche la fenètre
		this.setVisible(true);
		// définit la taille (400 large, 100 de haut)
		this.setSize(400,400);
		// position au centre
		this.setLocationRelativeTo(null);
		// arrète le processus lorsqu'on clique sur la croix
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		/** instanciation de l'objet Jpanel */
		// instanciation de l'objet Jpanel
		JPanel panel = new JPanel();
		// couleur de fond en blanc
		this.setBackground(Color.WHITE);
		// instanciation du content pane
		panneauContenant panneau = new panneauContenant();
		// on met notre panel en content pane
		this.setContentPane(panneau = new panneauContenant());

	}
	/**
	 * Création des composant graphique autre que la courbe
	 * @author BLAAAAAAAAAAAAA
	 *
	 */

	public class panneauContenant extends JPanel {
		/** Coordonnée du point en x */
		private int coordx = -20;
		/** Coordonnée du point en y */
		private int coordy = -20;

		/**
		 * better de coordx
		 * @return les coordonnée en x
		 */

		public int getCoordx() {
			return coordx;
		}

		/**
		 * setter de coordx
		 * @param coordx
		 */
		
		public void setCoordx(int coordx) {
			this.coordx = coordx;
		}
		
		public void paintComponent(Graphics g){
			// Droite des abscisse
			g.drawLine(0,this.getHeight()/2,this.getWidth(),this.getHeight()/2);
			// Morceaux de flèche (haut) droite abscisse
			g.drawLine(this.getWidth(), this.getHeight()/2,this.getWidth()-10,
					this.getHeight()/2-10);
			// Morceaux de flèche (bas) droite abcsisse
			g.drawLine(this.getWidth(), this.getHeight()/2,this.getWidth()-10,
					this.getHeight()/2+10);
			// Droite des coordonnée
			g.drawLine(this.getWidth()/2, 0,this.getWidth()/2,this.getHeight());
			// Morceaux de flèche (gauche) droite ordonnée
			g.drawLine(this.getWidth()/2, 0, this.getWidth()/2-10, +10);
			// Morceaux de flèche (droite) droite ordonnée
			g.drawLine(this.getWidth()/2, 0, this.getWidth()/2+10, +10);
			// Création d'un point rouge qui traceras notre courbe
			g.setColor(Color.red);
			g.fillOval(coordx, coordy, 1, 1);
			// appel de la méthode qui vas tracer la courbe
			courbe();
		}

		/**
		 * Prend en argument un polynome puis trace la courbe de ce polynome
		 * grace a la méthode de horner
		 */
		private void courbe() {
			// Mouvement du point pour crée une courbe
			for (int i = 0;i < panneau.getWidth();i++){
				int x = i;
				int y = i;
				panneau.setCoordx(x);
				panneau.setCoordy(y);
				panneau.repaint();
				try {
					Thread.sleep(10);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

4 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
31 mai 2014 à 16:07
Bonjour,

Ton code ne compile pas déjà... Qu'est-ce que c'est panneau dans panneauContenant ?
0
LouiseG Messages postés 3 Date d'inscription samedi 31 mai 2014 Statut Membre Dernière intervention 31 mai 2014
31 mai 2014 à 17:08
C'est le Content pane non ? Sinon je me suis planter. Et pour que ça se compile y faut enlever la méthode courbe. De plus je tient a te remercier ça fait 2 jours que j'arrive pas a avancer a cause de sa =)
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
31 mai 2014 à 17:22
"C'est le Content pane non ?"
Ça c'est à toi de me le dire. Moi j'ai une méthode courbe qui utilise panneau mais qui n'est déclaré nul part, il y a un soucis.

De même, tu dis de la méthode courbe qu'elle "Prend en argument un polynome", or moi je ne vois aucun argument ! Où est le polynôme que tu calcules ?
Pour pouvoir tracer la courbe d'un polynôme il te faut un polynôme !!! Plus exactement une méthode qui pour chaque x donné te calculera la valeur y = p(x) de ce polynôme.

Remarque : il paraît judicieux que la méthode courbe prenne également en argument l'objet Graphics g de la méthode paintComponent... pour dessiner c'est mieux !
0
LouiseG Messages postés 3 Date d'inscription samedi 31 mai 2014 Statut Membre Dernière intervention 31 mai 2014
31 mai 2014 à 17:37
Pour tracer et mettre le polynôme dans le code on a déjà un solution (normalement). Et j'ai oubliée de te dire que ce code est un test donc j'ai du un peu improviser sur la méthode courbe. Et c'est bien le content pane. De plus je ne sais pas comment mettre le Graphics g en argument :/.est ce que c'est juste
public void courbe(Graphics g){la méthode} ?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
31 mai 2014 à 17:47
public void courbe(Graphics g), oui c'est ça, ainsi tu peux utiliser les méthodes de g, comme drawLine, pour dessiner dans ta méthode courbe.

"ce code est un test donc j'ai du un peu improviser"
Alors approfondis, les erreurs du genre "tu dessines un polynôme mais t'as pas de polynôme" c'est juste pas possible !
0