Streamooc
Messages postés79Date d'inscriptionsamedi 17 juin 2017StatutMembreDernière intervention 8 février 2023
-
Modifié le 22 janv. 2018 à 13:22
Bonjour,
J'aimerais que ce code en réalité me permette de changer la position du fil rouge mais il ne fait que rester à chaque fois dans la même position.Je veux que le fil apparaisse entre deux endroits spécifiques montrant ainsi l'interaction entre les deux
J'ai besoin urgemment d'aides si quelqu'un pourra m'aider.Voici le code
public class Fenetre extends JFrame{
private Panneau pan = new Panneau();
public Fenetre(){
this.setTitle("Animation");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setContentPane(pan);
this.setVisible(true);
go();
}
// /**
// * Cette méthode permet de déclencher le passage de la barre
// *
// */
public void go(){
//Partie1
System.out.println(pan.getHeight());
for(int i = 0; i < pan.getHeight(); i++){
int x = pan.getPosX(), y = pan.getPosY();
x++;
y++;
pan.setPosX(x);
pan.setPosY(y);
pan.repaint(); //pan.repaint(). Elle demande à votre composant, ici un JPanel, de se redessiner.
try {
Thread.sleep(10); ///Mise en attente du programme pendant un laps de temps défini dans la méthode sleep() exprimé en millièmes de seconde
} catch (InterruptedException e) {
e.printStackTrace();
}
}
for(;;){
int x = pan.getPosX(), y = pan.getPosY();
x++;
y++;
pan.setPosX(x);
pan.setPosY(y);
pan.repaint();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Panneau extends JPanel{
public Panneau() {
}
//Partie 1:fil rouge
private int posX = 20;
private int posY = 20;
@Override
public void paintComponent(Graphics g){
g.setColor(Color.red);
g.fillRect(posX, posY, 50, 50);
}
public int getPosX() {
return posX;
}
public void setPosX(int posX) {
this.posX = posX;
}
public int getPosY() {
return posY;
}
public void setPosY(int posY) {
this.posY = posY;
}
}