le_papy
Messages postés15Date d'inscriptionmercredi 29 mars 2006StatutMembreDernière intervention 6 juillet 2009
-
20 mars 2008 à 23:46
le_papy
Messages postés15Date d'inscriptionmercredi 29 mars 2006StatutMembreDernière intervention 6 juillet 2009
-
23 mars 2008 à 12:25
bonjour, je suis actuelement en train de developper une petit programme perso (pour aprendre le langage Java) et je souhaite dessiner un dans une fenetre deux vecteurs qui se deplacent.
je n'ai pas de gros probleme pour y arriver dasn l'absolu, sauf que ce voudrais definir une classe "Vector" qui contien la definition de UN vecteur pour ensuite pouvoir l'appeler deux fois au lieu de coder directement les deux vecteurs dans la mem classe que la definition de la fenetre.
la question parait peut etre bete, mais je misere la dessus depuis plusieurs jours alors un peu d'aide serai bien venu...
voila a quoi resemble mon code pour le moment:
//############## Classe Main :
public class Main {
private int x1=10,x2=10,y1=10,y2=10;
private double t1=0,t2=Math.PI/2;
public static void main(String[] args)
{
Fenetre ma_fenetre = new Fenetre();
JPanel mon_panel = new JPanel();
Vector vect1 = new Vector(100, 100, (double) 10, (double) 10, Color.red);
ma_fenetre.add(mon_panel, vect1);
this.setSize(700,600);//taille de l'image
this.setTitle("Titre de ma fenetre");
this.setBackground(Color.BLACK);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public static void main(String[] args)
{
Fenetre f=new Fenetre();
}
}
//############## Classe Vector :
public class Vector {
private int x,y;
private double t,rayon;
private java.awt.Color couleur;
//creatin des trois objets/lignes qui forment le vecteur
Graphics2D g1;
g1= (Graphics2D)arg0;
Graphics2D g2;
g2= (Graphics2D)arg0;
Graphics2D g3;
g3= (Graphics2D)arg0;
r=(int)this.rayon/5; //taille du bout de fleche en fonctiond de la taille de la fleche
//coordonées de l'extremitée de la fleche.
X=this.x+(int)((Math.cos(-t))*this.rayon);
Y=this.y+(int)((Math.sin(-t))*this.rayon);
//cordonées des bout de la fleche
A=X+(int)(Math.cos(3*Math.PI/4-t)*r);
B=Y-(int)(Math.sin(this.t-3*Math.PI/4)*r);
C=X-(int)(Math.cos(this.t-Math.PI/4)*r);
D=Y+(int)(Math.sin(this.t-Math.PI/4)*r);
//dessin de la fleche
g1.setColor(couleur);//couleur
g1.setStroke(new BasicStroke(2));//épaisseur
g1.drawLine(this.x,this.y,X,Y);
}
public static void main(String[] args)
{
Vector vec=new Vector(50,50,(double)3,(double)20,Color.red);
}
}
sachant que dans la fonction pain de la classe Vector "x,y" sont les coordonées de l'origine du vecteur, "t" est l'angle et "rayon est da taille. pour les autes variables utilisées dans la fonctions paint, elle correspondent au shcema suivant :
http://paul.franche.free.fr/fleche.jpg
Merci d'avance de votre aide, et de votre comprehention !
________________________________________________
C'est depuis que Chuck Norris a laissé la vie sauve a un pingouin qu'on dit que Linux est libre !
le_papy
Messages postés15Date d'inscriptionmercredi 29 mars 2006StatutMembreDernière intervention 6 juillet 2009 20 mars 2008 à 23:48
j'ai oublié de precisé, juste au cas ou, je travail sur NetBeans dans un environement Ubuntu.
merci !
_______________________________________________________________________
C'est depuis que Chuck Norris a laissé la vie sauve a un pingouin qu'on dit que Linux est libre !