Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.firstihm.pack;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- public class Fenetre extends JFrame implements ActionListener{
- private Panneau pan;
- private JButton bouton;
- private JPanel container;
- private Bouton button;
- private JLabel label;
- private int compteur = 0, numberOfClicks = 0;
- private JPanel pannel;
- public Fenetre(){
- pan = new Panneau();
- bouton = new Bouton("stop");
- container = new JPanel();
- button = new Bouton("start");
- label = new JLabel("Mon Label Inutile");
- pannel = new JPanel();
- pannel.add(bouton);
- pannel.add(button);
- this.setTitle("Animation");
- this.setSize(300, 300);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setLocationRelativeTo(null);
- container.setBackground(Color.white);
- container.setLayout(new BorderLayout());
- container.add(pan, BorderLayout.CENTER);
- container.add(pannel, BorderLayout.SOUTH);
- Font police = new Font("Tahoma", Font.BOLD, 16);
- label.setFont(police);
- label.setHorizontalAlignment(JLabel.CENTER);
- label.setForeground(Color.BLUE);
- button.addActionListener(this);
- bouton.addActionListener(this);
- container.add(label, BorderLayout.NORTH);
- this.setContentPane(container);
- this.setVisible(true);
- go();
- }
- private void go(){
- int x = pan.getPosX(), y = pan.getPosY();
- boolean backX = false, backY = false;
- while (true) {
- // Si la coordonnée x est inférieure à 1, on avance
- if (x < 1)
- backX = false;
- // Si la coordonnée x est supérieure à la taille du Panneau moins la taille du rond, on recule
- if (x > pan.getWidth() - 50)
- backX = true;
- // Idem pour l'axe y
- if (y < 1)
- backY = false;
- if (y > pan.getHeight() - 50)
- backY = true;
- // Si on avance, on incrémente la coordonnée
- // backX est un booléen, donc !backX revient à écrire
- // if (backX == false)
- if (!backX)
- pan.setPosX(++x);
- // Sinon, on décrémente
- else
- pan.setPosX(--x);
- // Idem pour l'axe Y
- if (!backY)
- pan.setPosY(++y);
- else
- pan.setPosY(--y);
- // On redessine notre Panneau
- pan.repaint();
- try {
- Thread.sleep(3);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- Color col = null;
- compteur++;
- numberOfClicks++;
- if(compteur < 4){
- switch(compteur){
- case 0:
- col = Color.BLACK;
- break;
- case 1:
- col = Color.BLUE;
- break;
- case 2:
- col = Color.RED;
- break;
- case 3:
- col = Color.GREEN;
- break;
- }}else {
- compteur-=6;
- col = Color.YELLOW ;
- }
- label.setForeground(col);
- label.setText("Vous avez cliqué :" + numberOfClicks);
- if(e.getSource() == this.bouton){
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement