Timer et jwindow > deplacement d une fenetre

0/5 (3 avis)

Snippet vu 9 468 fois - Téléchargée 28 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
-
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
-
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
-
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.