Timer et jwindow > deplacement d une fenetre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 981 fois - Téléchargée 30 fois

Contenu du snippet

Ben juste une tite source pour montrer comment utiliser un timer pour deplacer une fenetre

Source / Exemple :


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
public class MoveWin extends JWindow implements ActionListener
{
    private Timer timer;
    private int x,y,currx,curry;
    private JLabel lab;
    
    public MoveWin() 
    {
		// On recupere la taille de l ecran
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		
		// On donne une taille a notre fenetre
		setSize(100,50);
		
		// On definit le point d arrivée
		y = screenSize.height-100;
		
		// On definit le point de départ
		curry = screenSize.height;
		currx = screenSize.width - 105;
		
		// On y place notre fenetre
		setLocation(currx,screenSize.height);
		
		// timer avec un delai de 10 millisecondes
		timer = new Timer(10,this);
		
		// depart du timer
		timer.start();
		
		// label que l on va afficher
		lab = new JLabel();
		lab.setText("<html><font color=red size=4>coucou</font></html>");
		
		// Affichage de la fenetre
		setVisible(true);
		
		// Panel avec une bordure en relief
		JPanel pan = new JPanel();
		pan.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createRaisedBevelBorder(), BorderFactory.createLoweredBevelBorder()));
    	
    	// Ajout des composants
    	getContentPane().add(pan);
    	pan.add(lab);
    }
    
    /**

  • Méthode qui va gérer les événements du timer
  • /
public void actionPerformed(ActionEvent e) { if (e.getSource() == timer) { // On définit un pas int step = 1; // Si on a pas atteint le point d arrivé if (curry != y) { // On modifie le point courant et on y place notre fenetre curry -= step; setLocation(currx,curry); } else timer.stop(); // sinon on arrete le timer } } public static void main(String[] args) { MoveWin fen = new MoveWin(); } }

A voir également

Ajouter un commentaire Commentaires
puccino1er Messages postés 16 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 10 décembre 2009
11 nov. 2009 à 21:06
slt, tres jolie source, mais je tente de faire descendre la meme fenetre mais ca ne marche pas, que faire?
puccino1er Messages postés 16 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 10 décembre 2009
11 nov. 2009 à 21:02
slt, tres jolie source, mais je tente de faire descendre la meme fenetre mais ca ne marche, que faire?
onlyspax Messages postés 2 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 mai 2007
11 mai 2007 à 23:15
Pas mal il faux juste remplir la JPAN avant de l'afficher ( setVisible() ) sinan on vois juste une fenetre vide :)
avec un petit exit(0) quand le timer est fini ca fera une fenetre de notification a la MSN :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.