[JAVA] probléme d'échange de panneaux
us3l3ss
-
us3l3ss -
us3l3ss -
Bonjour,
je rencontre quelque problèmes en essayant d'échanger des panneaux à l'aide de bouton.
sachant que l'un des panneau affiche une courbe et l'autre des images.
Informations :
les 2 panneau à interchanger sont le 3 et le 5.
la fonction go permet le tracage de la courbe sur le panneau5
voici un bout de mon code:
je rencontre quelque problèmes en essayant d'échanger des panneaux à l'aide de bouton.
sachant que l'un des panneau affiche une courbe et l'autre des images.
Informations :
les 2 panneau à interchanger sont le 3 et le 5.
la fonction go permet le tracage de la courbe sur le panneau5
voici un bout de mon code:
public class FirstApplet extends JApplet {
//déclaration......
public void init(){
//Parametrage du conteneur principal (fenetre)
this.setSize(600, 600);
container.setBackground(Color.GRAY);
container.setLayout(new GridLayout(2, 2)); //, 2, 2));
container.add(panneau2); //Ajout du panneau2 en haut a gauche
container.add(panneau); //Ajout du panneau1 en haut a droite
//Déclaration association Bouton-Actionlistener
panneau4.bouton1.addActionListener(new BoutonListener());
panneau4.bouton2.addActionListener(new Bouton2Listener());
panneau4.bouton3.addActionListener(new Bouton3Listener());
panneau4.bouton4.addActionListener(new Bouton4Listener());
panneau4.bouton5.addActionListener(new Bouton5Listener());
panneau4.bouton6.addActionListener(new Bouton6Listener());
panneau4.addBouton(); // fonction de la classe panneau qui ajoute les boutons
container.add(panneau4); //Ajout du panneau4 en bas a gauche
container.add(panneau3); //Ajout du panneau5 en bas a droite
this.setContentPane(container); //ajout du conteneur principal dans la fenetre visible java applet
this.setVisible(true);
}
// POUR LE TRACAGE DE LA COURBE
void go(int I){
/* Initialisation des différentes variables */
int x1, y1;
float[] tab =new float [(container.getWidth()/2)];
float borneA,borneB;
borneA=I-5;
borneB=I+5;
float X = borneA;
System.out.println("largeur fenetre : "+((container.getWidth()/2)));
float pas;
pas=(borneB-borneA)/((container.getWidth()/2));
System.out.println("pas : "+pas);
int pasFen=1;
float maxY, minY;
panneau5.setPosX(0);
/* Calcul des points qui serviront a créer la courbe */
for (int i=0;i<((container.getWidth()/2));i++){
tab[i]=(float) (Math.sin(X)/X); // fonction a tracer
//System.out.println("f("+(X)+")="+tab[i]); // Visualisation console f(x)=y
X=X+pas;
}
/* Recherche des extremums */
maxY=minY=tab[0];
for (int i=0;i<((container.getWidth()/2));i++){
if (tab[i]>maxY) maxY=tab[i];
else if (tab[i]<minY) minY=tab[i];
}
/* Mise a l'échelle de la fenetre du point maximum */
int maxYFen;
if (maxY<0)
maxYFen=(int) ((-maxY*((container.getWidth()/2))/(maxY-minY))+((container.getWidth()/2)-1));
else
maxYFen=(int) ((((container.getWidth()/2)))-(maxY*((container.getWidth()/2))/(maxY-minY)));
/* Parcours du tableau des points */
for(int i = 0; i < tab.length; i++)
{
/* initialisation de x sur la fenetre */
x1=panneau5.getPosX()+pasFen;
/* calcul de la position de y sur la fenetre */
if (tab[i]<0)
y1=(int) ((-tab[i]*((container.getWidth()/2))/(maxY-minY))+((container.getWidth()/2))-maxYFen);
else
y1=(int) ((((container.getWidth()/2))-maxYFen)-(tab[i]*((container.getWidth()/2))/(maxY-minY)));
//System.out.println("f("+(x1)+")="+y1);
/* Si fonction strictement positive on ajuste la courbe a l'écran */
if (minY>0) y1=y1+(((container.getWidth()/2))/2)-2;
/* Envoi des informations a afficher */
panneau5.setPosX(x1);
panneau5.setPosY(y1);
panneau5.repaint();
/* Sauvegarde de l image du point afin de créer une courbe */
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class BoutonListener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
container.remove(panneau5);
container.add(panneau3);
repaint();
panneau4.bouton1.setEnabled(false);
panneau4.bouton2.setEnabled(true);
}
}
class Bouton2Listener implements ActionListener{
public void actionPerformed(ActionEvent e) {
container.remove(panneau3);
container.add(panneau5);
t = new Thread(new PlayAnimation());
panneau4.bouton1.setEnabled(true);
panneau4.bouton2.setEnabled(false);
t.start();
panneau.repaint();
repaint();
}
}
class PlayAnimation implements Runnable{
@Override
public void run() {
go(I);
// I=-10;
// go(I);
}
}
A voir également:
- [JAVA] probléme d'échange de panneaux
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Echange photo - Guide
- Panneau de configuration - Guide