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

AWT/Swing Java Discussion :

[SWING] Probleme de focus?


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut [SWING] Probleme de focus?
    Bonsoir tout le monde, voila j'ai un petit soucis avec mon application, j'ai commencer a faire l'interface graphique en Swing, et dans une partie du traitement je lance une JDialog pour faire le traitement et imprimer au fur et a mesure l'avancement du traitement.

    Le probleme que je rencontre, c'est que quand je lance ce traitement, il est comme bloqué en arriere plan et ne s'effectue que lorsque je ferme la JDialog.

    J'ai chercher un peu mais j'avou ne pas trouvé là ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public AnalysisUI()
    {
    	this.jd = new JDialog(javax.swing.JOptionPane.getFrameForComponent(getParent()), true);
    	this.jd.setLocationRelativeTo(null);
    	this.jd.setSize(250, 200);
    	Container pane = this.jd.getContentPane();
    [...]
    	this.jd.setVisible(true);
    	this.analyse();
    }
    Et ca appel ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void analyse()
    {
            try
        	{
    	    IntConnectionDB<java.sql.Connection> [] connection = Database_Handler.startConnection() ;
    	     if (connection != null)
    	     {
    	                this.Buttons[0].setBackground(Color.GREEN);
    	        	this.jd.repaint();
    [...]

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.jd.setVisible(true);
    Cette ligne bloque l'exécution du code qui suit tant que le JDialog est visible.

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    Citation Envoyé par herve91 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.jd.setVisible(true);
    Cette ligne bloque l'exécution du code qui suit tant que le JDialog est visible.


    Je l'avais oublier ca xD

    Merci

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    N'ayant jamais eu affaire a ce cas .. Quelqu'un pourrait m'expliquer comment faire, pour que je puisse affiché la fenetre, et en meme temps continuer l'execution du code, qui affecte l'interface ?

  5. #5
    Membre expérimenté Avatar de uhrand
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 203
    Par défaut
    Citation Envoyé par Kassar Voir le message
    N'ayant jamais eu affaire a ce cas .. Quelqu'un pourrait m'expliquer comment faire, pour que je puisse affiché la fenetre, et en meme temps continuer l'execution du code, qui affecte l'interface ?
    Voici la leçon à étudier: http://java.sun.com/docs/books/tutor...ncy/index.html

  6. #6
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Citation Envoyé par Kassar Voir le message
    N'ayant jamais eu affaire a ce cas .. Quelqu'un pourrait m'expliquer comment faire, pour que je puisse affiché la fenetre, et en meme temps continuer l'execution du code, qui affecte l'interface ?
    Généralement une JDialog est entièrement construite et initialisée avant affichage. Une JDialog (sous-entendu modale) servant en gros à demander à l'utilisateur de faire des choix qui conditionnent la suite de l'exécution du programme (puisqu'elle bloque l'accès à la fenêtre parente), elle est "passive" et n'a pas de traitement propre, tout doit se faire dans les listeners des différents composants de la JDialog. Ensuite, une fois fermée, son état est consultable par la fenêtre parente.
    Si tu as besoin d'exécuter du code qui affecte l'interface, celui-ci doit être exécuté dans un autre thread, et la mise à jour du JDialog doit se faire en fin de traitement dans l'EDT (voir par exemple la classe SwingWorker)

Discussions similaires

  1. [C#] Probleme de focus
    Par kenzo080 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 27/01/2006, 15h58
  2. [debutant][swing] Probleme avec un Jpanel
    Par JeanMoul dans le forum Débuter
    Réponses: 6
    Dernier message: 27/08/2005, 19h07
  3. [Swing]probleme pour changer de JPanel
    Par mereyj dans le forum Composants
    Réponses: 8
    Dernier message: 19/06/2005, 12h55
  4. [Swing] probleme de GridBagLayout
    Par calypso dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2005, 17h26
  5. [swing] probleme de memoire
    Par leBigouden dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/05/2003, 14h19

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