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

Composants Java Discussion :

Lenteur Jtable + JTextPane + JDesktopPane


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Par défaut Lenteur Jtable + JTextPane + JDesktopPane
    Bonjour,

    Je viens demander de l'aide à des gens expérimentés dans le domaine de SWING et de son fonctionnement car malgré mes recherches sur le web et dans mon code je n'ai rien trouvé pour solutionner un problème de performance assez gênant. Je vous explique la chose :

    J'ai un JDesktopPane qui affiche plusieurs JInternalFrame. Une de ces JInternalFrame contient un JTable d'environ une centaine de lignes, dont les cellules sont des JTextPane avec une bonne vingtaine de styles différents associés. Le problème se situe lorsque je veux déplacer mes JInternalFrame. Lorsque la JInternalFrame contenant la JTable est affichée, le déplacement de toutes les autres JInternalFrame est extrêmement ralenti est saccadé alors qu'il redevient normal lorsque celle contenant la JTable ne l'est plus.

    Je pense qu'il s'agit sans doute d'un problème de repaint au niveau de la JTable et des JTextPane qui y sont contenus.

    Bon j'avoue que l'imbrication JDesktopPane + JTable + JTextPane est assez lourde mais mon application me l'impose. Auriez vous une idée de comment aborder ce problème ?

    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    essai un JTextArea plutot, c'est plus leger qu'un JTextPane.

    Bon j'avoue que l'imbrication JDesktopPane + JTable + JTextPane est assez lourde mais mon application me l'impose
    hmmm...ca vient peut etre d'une mauvaise conception?

  3. #3
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Par défaut
    Le problème est que j'utilise les fonctionnalités permettant de définir des styles dans le JTextPane et il ne me semble pas que le JTextArea le permette, si ?

    Je suis en train d'essayer en remplacant mes StyledDocument par un contenu HTML pour voir ce que ça donne.

    Pour la conception, je me suis pas mal inspiré de codes récupérés sur les tutoriaux de Sun, donc à part grosse faute de conception, je ne vois pas trop ce qui pourrait provoquer une telle chute de performance. Ca en fait mes autres JInternalFrame contiennent aussi une instance de ce même JTextPane et fonctionnent très bien. J'ai donc vraiment l'impression que c'est leur multiplication qui pose problème, il est vrai que j'ai lu que c'était l'un des composants les plus lourds de Swing...

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    ce que je voulais dire, c'est que le choix d'utiliser une Jtable avec d'aussi gros volume et autant d'effet de texte, n'est sans doute pas judicieux.

  5. #5
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Par défaut
    Bon j'ai testé avec un contenu formaté HTML, donc sans StyledDocument et ca ne change quasiment rien.

    Oui je me rend bien compte que le mélange est très lourd mais je ne vois pas trop comment m'en affranchir. Il s'agit en fait de lister tout les salons d'un serveur IRC et d'afficher pour chacun leur topic coloré selon les codes couleurs et les codes de styles communément utilisés. Je n'ai trouvé aucune autre alternative à l'utilisation du JTextPane pour rendre les couleurs, et le JTable me semblait également approprié pour l'affichage de données tabulaires.

    Je ne vois pas trop quel(s) composant(s) je pourrais utiliser à la place...

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/06/2011, 11h33
  2. Sélection de texte dans 1 JTextPane inclus dans 1 JTable
    Par Zorallig dans le forum Composants
    Réponses: 2
    Dernier message: 20/07/2010, 16h36
  3. jTable ou jTextPane : désactiver la modification ?
    Par rXpCH dans le forum Composants
    Réponses: 2
    Dernier message: 03/03/2010, 09h23
  4. [JTable] JTextPane dans une cellule
    Par apqmwnqmap dans le forum Composants
    Réponses: 2
    Dernier message: 16/05/2008, 17h48
  5. Réponses: 9
    Dernier message: 12/08/2002, 08h38

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