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

Entrée/Sortie Java Discussion :

(débutant) aFfichage d'une fenetre en attente


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 68
    Points : 50
    Points
    50
    Par défaut (débutant) aFfichage d'une fenetre en attente
    Bonjour j'ai une question je pense simple, je poste ici pcq je crois qu'il s'agit de threads (mais chuis pas sure).
    Je voudrais créer une petite fenetre (JInternalFrame dans mon prog) qui s'ouvre avant l'execution d'une ligne (dans mon programme une procédure de connexion à une BDD), et se referme après, qui serve d'alert d'attente en quelque sorte...
    Mais ca ne marche pas, la fenetre s'affiche APRES que ma ligne de commande ai été effectuée. bizarre, non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    JInternalFrame F = InteractionsInterface.ouvrirPatientez(monFrame,"Connexion en cours...");
     
    monAppli.effectuerConnexion(this.getURL()); //ligne de commande
     
    InteractionsInterface.fermerFenetre(F);

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 147
    Points : 120
    Points
    120
    Par défaut
    Même problème ici

    Pourquoi la barre de progression n'apparaît que tout à la fin

    Soigne ton orthographe si tu veux que les gens te répondent.
    Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres...

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    j'ai fait ca:
    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
    32
    33
    34
    35
    36
    37
     
    Thread monThread = new Thread(new RunDeconnecter(this.application));
    monThread.start();
     
    ...
     
        public class RunDeconnecter  implements Runnable{
            Appli monAppli;
            public RunDeconnecter(Appli appli){
                monAppli = appli;
            }
            public void run(){
                ptiteFenetre();
                deco();
            }
            private synchronized void ptiteFenetre()  {
                try {
                    JProgress2 pg = new JProgress2();
                    notify();
                    wait();
                    pg.fermer();
                } catch (InterruptedException e) {
                    // TODO
                }
     
            }
            private synchronized void deco(){
                try {
                    wait();
                    monAppli.effectuerDeconnexion();
                    notify();
                } catch (InterruptedException e) {
                    // TODO
                }
     
            }
        }
    mais je ne comprend toujours comment gérer les choses...

  4. #4
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    Salut,

    moi j'aime bien simplifier les problèmes quand ils se présentent, ça permet de repartir sur de bonnes bases.
    Code JAVA : 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    package test;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JFrame;
    import javax.swing.JLabel;
     
    public class WaitTest implements ActionListener {
    	JFrame _waitDialog;
     
    	public static void main(String[] args) {
    		WaitTest wt = new WaitTest();
    		wt.showWaitWindow();
    		wt.doComplexJob();
    	}
     
    	private void doComplexJob() {
    		try {
    			// Le job en question peut être remplacé par ton appel à une tentative de connexion à ta base
    			System.out.println("our job is just to sleep, not very hard indeed...");
    			Thread.sleep(5000);
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		}
    		System.out.println("hey, wake up and notify");
    		this.actionPerformed(null);
    	}
     
    	private void showWaitWindow() {
    		_waitDialog = new JFrame();
    		_waitDialog.getContentPane().add(new JLabel("waiting ..."));
    		_waitDialog.pack();
    		_waitDialog.setVisible(true);
    	}
     
    	// Juste une callback pour être notifié de la fin d'un traitement.
    	public void actionPerformed(ActionEvent e) {
    		_waitDialog.setVisible(false);
    		_waitDialog.dispose();
    		_waitDialog = null;
    	}
    }
    Simplifie aussi ton problème et dis nous exactement ce qu'il ne va pas.
    Quelques tips Java & autres : mon blog

Discussions similaires

  1. Problème d'affichage d'une fenetre d'attente(waitForm)
    Par aounidevlop dans le forum Accès aux données
    Réponses: 4
    Dernier message: 18/01/2015, 16h31
  2. Réponses: 11
    Dernier message: 17/05/2006, 08h39
  3. Réponses: 4
    Dernier message: 28/02/2006, 14h25
  4. [Débutant] Affichage d'une grille
    Par Mathieu.J dans le forum OpenGL
    Réponses: 25
    Dernier message: 13/06/2004, 19h38

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