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 :

setvisible très lent


Sujet :

AWT/Swing Java

  1. #1
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut setvisible très lent
    Bonjour j'ai un problème de setVisible(false) qui met une seconde a s'éxecuter ?

    Certain aurais une idée d'où peut venir le problème:

    je fais un setVisible(false) lorsque on appuie sur un bouton d'un panel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	class CloseListener implements ActionListener
    	{
    		public void actionPerformed(ActionEvent e)
    		{
    			System.out.println("1");
    			setVisible(false);
    			System.out.println("2");
    		}
    	}
    et il se passe vraiment 1s entre le print 1 et le print 2 ....

    je ne sait trop quoi mettre d'autre comme code ne sachant vraiment pas d'ou ca peut venir ....

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu fais un setVisible() sur quoi ? JFrame ? JWIndow ? Un JComponent ?

    Est-ce que cette méthode est surchargée dans la classe ? Est-ce que des opérations sont faites lors de la fermeture du composant (opération suite à l'événement de fermeture si c'est une fenêtre) ?

    Bref, il faudrait quand même plus d'infos...

    Mais c'est vrai que c'est quand même un peu lent...

  3. #3
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par wichtounet
    Tu fais un setVisible() sur quoi ? JFrame ? JWIndow ? Un JComponent ?

    Est-ce que cette méthode est surchargée dans la classe ? Est-ce que des opérations sont faites lors de la fermeture du composant (opération suite à l'événement de fermeture si c'est une fenêtre) ?

    Bref, il faudrait quand même plus d'infos...

    Mais c'est vrai que c'est quand même un peu lent...
    c'est sur un JPanel ... et je ne crois pas que je fasse quelques chose à la fermeture (je ne suis pas sur car en faite c'est une classe que je viens de refaire et dont l'ancetre faisais quelque chose ... mais cette methode n'existe plus ...)

    il doit vraiment Y avoir quelque chose ... Sur ce JPanel j'ai un scrollPane avec une liste de JCheckBox ... plus la liste est longue plus le setVisble est long :: ca appel les setVisible des fils en cascade ?

    edit : .. ca ne depend pas de ce qu'il y a sur le panel mais de la taille de ma base de données ... Bon y a définitivement quelque chose d'appelé ... va falloir que je traque *met sa tenue de chasseuse*

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Pourquoi tu ne supprimes simplement pas le panel de ta fenêtre?

  5. #5
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par ®om
    Pourquoi tu ne supprimes simplement pas le panel de ta fenêtre?

    il est tres long a crée et rappelé très souvent
    .. d'ailleurs les setVisible(true) est lui très rapide ....

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par Lady
    il est tres long a crée et rappelé très souvent
    .. d'ailleurs les setVisible(true) est lui très rapide ....
    Non mais tu le supprimes juste de ta frame, tu gardes une référence dessus, pas besoin de le recréer...

  7. #7
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par ®om
    Non mais tu le supprimes juste de ta frame, tu gardes une référence dessus, pas besoin de le recréer...

    hum ... ouep ca va finir comme ca mais si j'ai vraiment une methode appelé je pense que ca sera pareil ^^

    Je vais essayer voir?

  8. #8
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Juste pour info, pourquoi tu as besoin de cacher un panel et le réafficher parfois?

  9. #9
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par ®om
    Juste pour info, pourquoi tu as besoin de cacher un panel et le réafficher parfois?
    c'est un panel de filtrage de base de donnée ^^ ... j'affiche ma table dans une jtable et l'utilisateur qui connais pas sql clic sur l'entet pour pouvoir selectionner les valeurs qui l'interesse .

  10. #10
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    bon la vraiment j'aimerais comprendre ...

    juste pour tester j'ai ajouter un setVisible au bouton fermer et la aussi le setVisible est lent !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	System.out.println("1");
    			close.setVisible(false);
    			System.out.println("2");
    			setVisible(false);
    			System.out.println("3");
    j'ai des gros laps de tenmps entre les print c'est assez allucinant !

    Que met en jeux le setVisible pour expliquer ca ??? Je suis perdue lol!

    Apres test .. tout pannel que je met au même endroit est lent a disparaitre .... Qu'ai je donc fait ? Une "surchage" peut elle expliqué cela ? (trop de panel dans un JPanel parent ?)

  11. #11
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Bon ... cela semble donc du a une surchage du JPanel parents (il contenais pas moins de 10 panel invisible)

    J'ai donc resolu avec une solution donné plus haut (ajouter et enlever systèmatiquement)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. BDD sur réseau très très très lent...
    Par ericain dans le forum Access
    Réponses: 12
    Dernier message: 20/02/2015, 18h17
  2. Ouverture et fermeture de base très lent...
    Par Tofdelille dans le forum Installation
    Réponses: 6
    Dernier message: 19/09/2006, 19h51
  3. [Lomboz] Editeur jsp très lent
    Par lr dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 29/01/2005, 20h43
  4. SQL Server trés lent
    Par arwen dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 07/11/2003, 15h45

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