IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Fenetre qui se ferme automatiquement


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut Fenetre qui se ferme automatiquement
    Bonjour à tous,
    je suis en train de réaliser une application et j'aimerais miser un peu sur l'esthétique,je m'explique j'aimerais tout d'abord lors de l'exécution de mon application qu'une fenêtre s ouvre et se ferme automatiquement au bout de 5secondes,est ce possible et j aimerais aussi faire clignoter du texte.

    P.S j'utilise Swing

  2. #2
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Salut,

    j'aimerais tout d'abord lors de l'exécution de mon application qu'une fenêtre s ouvre et se ferme automatiquement au bout de 5secondes
    Tu peux le faire avec un Timer, c'est un processus qui exécute une tâche après un certain délai.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int delay = 5000; //milliseconds
      ActionListener taskPerformer = new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
              //...Perform a task...
          }
      };
      Timer timer;
       timer=new Timer(delay, taskPerformer);
       timer.start();
    et au bout de 5 secondes, ton Timer exécute le code dans la méthode actionPerformed.

    Pour éviter que le code ne s'exécute plusieurs fois, rajoute l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    timer.setRepeat(false);
    et pour fermer la fenêtre :

    maintenant, tu sais comment te servir des Timer, tu refais exactement la même chose pour faire clignoter ton texte :-) Sauf que là, tu n'empêche pas la répétition de la tâche, et alternativement, tu appliques une couleur à ton texte!!

    Au boulot !!!!

    Bonne soirée
    ZORRO
    Plus Vengeur que Masqué

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Ok merci beaucoup Balbuzard !
    Juste une ou deux petite chose vu que je suis un gros débutant en JAVA!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int delay = 5000; //milliseconds
      ActionListener taskPerformer = new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
              //...Perform a task...
          }
      };
      Timer timer;
       timer=new Timer(delay, taskPerformer);
       timer.start();
    Ca je le mets ou??dans le main???ou bien je dois creer une class actionPerformed??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    timer.setRepeat(false);
    maFenetre.dispose();
    Et ca je le mets ou??
    En fait j ai le main ou j appelle ma fenetre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    mport javax.swing.JFrame;
     
     
    public class Test {
     
            public static void main(String[] args){
     
            	Fenetre fen = new Fenetre();
     
            }       
    }
    Puis j ai des autres classes ou je crée cette fentre en mettant une image en arriere plan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ublic class Panneau extends JPanel {
     
            public void paintComponent(Graphics g){
     
     
            	 try {
                     Image img = ImageIO.read(new File("az.jpg"));
                     //g.drawImage(img, 40, 0, this);
                     //Pour une image de fond
                     g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
                     Font font = new Font("Courier", Font.CENTER_BASELINE, 30);
                     g.setFont(font);
     
                     g.setColor(Color.RED);          
                     g.drawString("BIENVENUE", 30, 50);
             } catch (IOException e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
             }
            }               
    }
    Et j ai bien sur le timinik de la fenetre avec sa taille et tout le tralala
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.GridLayout;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class Fenetre extends JFrame{
     
    	private JPanel pan = new Panneau();
    	JButton bouton = new JButton("Commencer");
     
     
     
        public Fenetre(){
     
                this.setTitle("Application de convertion de fichier texte");
                this.setSize(500, 400);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                this.setLocationRelativeTo(null);
                pan.add(bouton);
                this.setContentPane(pan);
     
     
     
     
                this.setVisible(true);
     
        }      
    }
    Voila j espere que je n abuse pas trop,mais vu que c'est le début pour moi en Java je bugg pas mal(je sais programmer en C et C++ mais la ,c est tout de meme un peu différent!)

    P.S je suis sous eclipse(je ne sais pas pourquoi je dis ca mais bon ...

  4. #4
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Salut,

    Code :
    int delay = 5000; //milliseconds
    ActionListener taskPerformer = new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    //...Perform a task...
    }
    };
    Timer timer;
    timer=new Timer(delay, taskPerformer);
    timer.start();Ca je le mets ou??dans le main???ou bien je dois creer une class actionPerformed??
    Non, tu ne dois pas créer une classe, il s'agit ici d'une simple instruction (; à la fin) donc tu peux le mettre n'importe où dans ton code, du moment que l'action que tu exécute à la place de //...Perform a task... est autorisée (càd après avoir crée et instancié les objets que tu manipules ici).

    Tu le mets à la place de //Perform a task, c'est l'action qui sera réalisée lorsque ton Timer sera crée et atteindra 5 secondes.

    Les Timer sont des processus indépendants du reste de ton application du moment qu'ils sont crées et instanciés, donc tu peux les mettre n'importe où dans ton code, il ne mettra pas d'erreur. Le mieux est d'instancier ton timer lorsque la fenêtre se crée. Il faut alors vérifier que les actions à réaliser dans ActionPerformed sont permises.

    Il faudrait si tu veux vraiment connaitre le fonctionnement des Timer regarder les API JAVA

    Voilà, au boulot :-)
    ZORRO
    Plus Vengeur que Masqué

Discussions similaires

  1. jquery.dialog() qui se ferme automatiquement
    Par MetalGearBe dans le forum jQuery
    Réponses: 3
    Dernier message: 21/12/2011, 18h16
  2. [SWING] Fenetre qui se ferme toute seule
    Par womannosky dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 29/04/2009, 15h53
  3. Outllok 2003 - Fenetre qui se ferme toute seule
    Par joky1209 dans le forum Outlook
    Réponses: 2
    Dernier message: 18/03/2008, 14h00
  4. Fenêtre qui se ferme automatiquement
    Par fred61 dans le forum Dev-C++
    Réponses: 3
    Dernier message: 17/04/2007, 14h32
  5. faux popup qui se ferme automatiquement
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/03/2006, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo