Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TIMER ET JWINDOW > DEPLACEMENT D UNE FENETRE


Information sur la source

Catégorie :Astuces Classé sous : timer, jwindow, déplacement, fenêtre Niveau : Débutant Date de création : 09/04/2003 Date de mise à jour : 09/04/2003 10:38:36 Vu : 5 264

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


Description

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

Source

  • 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();
  • }
  • }
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();
                  
    }
}

Commentaires et avis

signaler à un administrateur
Commentaire de onlyspax le 11/05/2007 23:15:47

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 :)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

déplacement d'un fichier avec la souris sur une fenêtre [ par Hermios ] Bonjour à tous,j'aimerai réaliser un module particulier, et j'ai essayé de chercher sur le site, mais comme je ne sais pas où chercher, ben... J'ai ri windowClosing event [ par didoux95 ] Bonjour à tous.je voudrais savoir comment est ce que je peux empécher une fenêtre de se fermer.Pour cela, je récupère l'évènement, j'en "parle" (via u On top [ par didoux95 ] Bonjour à tous.J'aimerais savoirs il existe une méthode similaire à "alwaysOnTop(true);". J'explique, alwaysontop(true) fait en sorte que la fenêtre s Layout [ par didoux95 ] Bonjour à tous.J'ai un petit problème avec les Layout. Je suis en train de construire une fenêtre qui "ajuste" automatiquement le nombre de composants Ouvrir nouvelles fenêtres dans une fenêtre prédéfinis [ par leviz ] Bonjour, J'aurais un problème dont j'ai beau cherché la solution mais sans résultats. Voici mon problème :Je dispose d'une page avec une série de lien syncronisation en java [ par ben_imen ] bonjour tout le monde j'ai un problème de synchronisation entre l'apparition d'un JWindow et un son normalement la fenetre apparait avant le son.Mais probleme canvas [ par darkspoilt ] Bonjour le programme que j'ai fait ne fonctionne pas dans une beanbox. j'aimreais lancer ensuite directement dans une fenêtre swing en autoexécutable [windows] [ par blink18254 ] Bonjour,Voila je me pose une question et je ne trouve la réponse nul part, en fait je ne sais pas quoi chercher sur google...je souhaiterais savoir si timer [ par sofio007 ] slt vous pouvez repondre a mon question plzcomment utiliser un timer en java probleme d'utilisation de bean [ par darkspoilt ] obnjour j'ai un porbleme d'uilisation de bean je veux exécuter mon bean pour q'il affiche des images pour ensuite les faire défiler. Cela ne fonctio


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.