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

SWT/JFace Java Discussion :

TreeViewer contenant beaucoup de données


Sujet :

SWT/JFace Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut TreeViewer contenant beaucoup de données
    Bonjour à tous,

    J'ai une vue avec un treeviewer ayant plusieurs colonnes. Mon problème est que les données chargées dans ce dernier mettent énormément de temps à s'afficher.

    En cherchant un peu j'ai trouvé un moyen de pallier à mon problème : SWT.VIRTUAL.

    Mon soucis est que je n'ai aucune idée de comment l'appliquer à un treeviewer à plusieurs colonnes.

    Si quelqu'un pouvait m'éclairer, peut-être en me donnant un exemple, j'apprécierai beaucoup.

    D'avance merci !

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Tu as l'exemple parfait sur le wiki Eclipse sur les TreeViewer virtuel et lazy.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Merci de ta réponse.
    Ce qui me gène c'est que j'ai déjà un ContentProvider qui implemente ITreeContentProvider :

    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
    38
    39
    public class TreeContentProvider implements ITreeContentProvider {
    	public Object[] getElements(Object element) {
    		final Object[] currentSteps = ((List<TreeNode>) element)
    				.toArray();
    		return currentSteps;
    	}
     
    	public void dispose() {
    	}
     
    	public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
    	}
     
    	public Object[] getChildren(Object element) {
    		if (element instanceof TreeNode) {
    			final TreeNode currentStep = (TreeNode) element;
    			return currentStep.getNode().toArray();
    		} else {
    			return null;
    		}
    	}
     
    	public Object getParent(Object element) {
    		if (element instanceof TreeNode) {
    			return ((TreeNode)element).getParent();
    		} else {
    			return null;
    		}
    	}
     
    	public boolean hasChildren(Object element) {
    		if (element instanceof TreeNode) {
    			TreeNode current = (TreeNode) element;
    			return !current.isMessageEmpty();
    		} else {
    			return false;
    		}
    	}
    }
    Y a moyen que mon provider implèmente les 2 ?

  4. #4
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Pour le coup, la philosophie du content provider n'est pas la même si tu souhaites faire du lazy loading...
    Donc, là, oui, ça va être gênant.
    Mais c'est plutôt facilement re-transposable...
    Ton ContentProvider étant très simple, tu peux tout à fait t'inspirer de ce qui est fait dans l'exemple pour avoir ton nouveau provider.
    Pas de questions technique par MP, les forums sont là pour ça.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Ok, je te remercie.
    J'ai réussi.

    Encore merci pour ton aide !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 08/12/2006, 21h39
  2. Ecriture dans un fichier XML de beaucoup beaucoup de données
    Par sebastien2222 dans le forum Persistance des données
    Réponses: 8
    Dernier message: 10/08/2006, 09h39
  3. Remplir un StringGrid avec beaucoup de données
    Par Gaadek dans le forum Delphi
    Réponses: 9
    Dernier message: 08/06/2006, 20h47
  4. Insérer beaucoup de données
    Par cyber_jad dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 19/09/2005, 16h56
  5. [Choix SGBD] Application mono-poste mais beaucoup de données
    Par Wavyx dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 16/03/2003, 18h24

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