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 :

JTabbedPane Taille automatique


Sujet :

Composants Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut JTabbedPane Taille automatique
    Bonjour, je voudrais adapter la taille de deux sous panels à celui d'un panel principal.
    Le panel principal s'appel panTabs et les sous panels HDMT et NEMO (sont de même structure).
    Cependant quand je set la taille du panel principale puis crée une méthodes getTabsSize() pour récupérer le get il me met un nullpointer.
    Classe qui créer le panel principale auquel on ajoute les sous panel :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    package IHM;
    
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.KeyEvent;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    import javax.swing.SwingConstants;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
    
    import EVENT.ActionWindow;
    import TABBED.TabHDMT;
    import TABBED.TabNEMO;
    
    /**
     * IHM of Converter application
     * 
     * @author t0163126
     */
    public class IhmConverter extends JFrame {
    	private static final long serialVersionUID = 1L;
    	
    	private JPanel panCustomer;
    	private JPanel panTab;
    	private static ToolBar toolBar;
    
    	private static JTabbedPane tabs;
    	private static TabHDMT HDMT;
    	private static TabNEMO NEMO;
    	
    	private int maxW = 0;
    	private int maxH = 0;
    	private static Dimension panelDim;
    	private Dimension newDim;
    
    	// ============================================================
    	/**
    	 *  Ihm constructorr
    	 */
    	private IhmConverter() {
    		initIhmConverter();
    	}
    
    	/**
    	 *  Method initialization
    	 */
    	private void initIhmConverter() {
    		// window event
    		this.addWindowListener(new ActionWindow());
    		
    		HDMT = new TabHDMT();
    		NEMO = new TabNEMO();
    		tabs = new JTabbedPane(SwingConstants.NORTH);
    		// Add tabs
    		tabs.add("HDMT", HDMT);
    		tabs.add("NEMO", NEMO);
    		tabs.setOpaque(true);
    		tabs.setMnemonicAt(0, KeyEvent.VK_H); //ALT+H
    		tabs.setMnemonicAt(1, KeyEvent.VK_N); //ALT+N
    		// Dimension
    		final Dimension originalTabsDim = tabs.getPreferredSize();
    		panelDim = new Dimension();
    
    		tabs.addChangeListener(new ChangeListener() {
    			@Override
    			public void stateChanged(ChangeEvent e) {
    				Component p = ((JTabbedPane) e.getSource()).getSelectedComponent();
    
    				panelDim = p.getPreferredSize();
    				newDim = new Dimension(originalTabsDim.width
    						- (maxW - panelDim.width), originalTabsDim.height
    						- (maxH - panelDim.height));
    
    				tabs.setPreferredSize(newDim);
    				tabs.setSelectedComponent(p);
    				tabs.getSelectedComponent().setPreferredSize(newDim);
    				pack();
    			}
    
    		});
    		panTab = new JPanel();
    		panTab.setLayout(new FlowLayout());
    		panTab.add(tabs);
    		
    		// Customer area
    		panCustomer = (JPanel) this.getContentPane();
    		panCustomer.setLayout(new BorderLayout());
    
    		panCustomer.add(panTab, BorderLayout.BEFORE_LINE_BEGINS);
    
    		// Add toolBar
    		toolBar = new ToolBar();
    		this.add(toolBar, BorderLayout.NORTH);
    	}
    
    	// ============================================================
    	// instenciation
    	private static IhmConverter hdmt;
    	public static IhmConverter getInstance() {
    		if (hdmt == null) {
    			hdmt = new IhmConverter();
    		}
    		return hdmt;
    	}
    
    	// ============================================================
    	// Getter and setter
    	public static Dimension getTabsSize() {
    		Dimension taille = IhmConverter.tabs.getSelectedComponent().getPreferredSize();
    		
    		return taille;
    	}
    	public static TabHDMT getHDMT() {
    		return IhmConverter.HDMT;
    	}
    	public static TabNEMO getNEMO() {
    		return IhmConverter.NEMO;
    	}
    	public static ToolBar getToolBar() {
    		return IhmConverter.toolBar;
    	}
    }
    Puis le sous panel :
    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
     
    package TABBED;
     
    import java.awt.Color;
    import java.awt.Dimension;
     
    import javax.swing.BorderFactory;
    import javax.swing.JPanel;
     
    import IHM.IhmConverter;
     
    /**
     * HDMT tab that recover all sub tabHDMT that suits him
     * @author t0163126
     */
    public class TabHDMT extends JPanel 
    {
    	private static final long serialVersionUID = 1L;
     
    	/**
             * HDMT constructor
             */
    	public TabHDMT() 
    	{
    		//Title of tab
    		this.setBorder(BorderFactory.createTitledBorder("HDMT"));
    		this.setBackground(Color.LIGHT_GRAY);
    		this.setOpaque(true);
     
    		JPanel panel = new JPanel();
     
    		System.out.println(IhmConverter.getTabsSize());
    		panel.setPreferredSize(IhmConverter.getTabsSize());
    		this.add(panel);
    	}
    }
    Merci d'avance

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HDMT = new TabHDMT(); // 1 création d'un panel : exécution de son constructeur , donc exécution de la ligne surlignée en jaune ci-dessous
    NEMO = new TabNEMO();
    tabs = new JTabbedPane(SwingConstants.NORTH); // 4 initialisation de la variable tabs !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public TabHDMT() 
    	{
    		//Title of tab
    		this.setBorder(BorderFactory.createTitledBorder("HDMT"));
    		this.setBackground(Color.LIGHT_GRAY);
    		this.setOpaque(true);
     
    		JPanel panel = new JPanel();
     
    		System.out.println(IhmConverter.getTabsSize());
    		panel.setPreferredSize(IhmConverter.getTabsSize()); // 2 cette ligne appelle la méthode ci-après
    		this.add(panel);
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static Dimension getTabsSize() {
    		Dimension taille = IhmConverter.tabs.getSelectedComponent().getPreferredSize(); // 3 utilisation de la variable tabs
     
    		return taille;
    	}
    Bien sûr, on exécute les lignes dans l'ordre 1, 2, 3 et 4 : en 3 on utilise une variable qui n'est initialisée qu'en 4 (d'où NPE), et même remplie bien après !!! Quant à avoir un tab sélectionné, je ne suis même pas sûr qu'il y'en aura un avant affichage.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Bien jouer !
    Maintenant j'arrive à avoir la bonne taille mais seulement après avoir sélectionné un onglet ce qui est logique avec le code qui va suivre, mais aurais tu une idée pour avoir cette taille dès l'instance des deux onglets en question ?
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    private void initIhmConverter() {
    		// window event
    		this.addWindowListener(new ActionWindow());
    		
    		HDMT = new TabHDMT();
    		NEMO = new TabNEMO();
    		tabs = new JTabbedPane(SwingConstants.NORTH);
    		// Add tabs
    		tabs.add("HDMT", HDMT);
    		tabs.add("NEMO", NEMO);
    		tabs.setOpaque(true);
    		tabs.setMnemonicAt(0, KeyEvent.VK_H); //ALT+H
    		tabs.setMnemonicAt(1, KeyEvent.VK_N); //ALT+N
    		// Dimension
    		final Dimension originalTabsDim = tabs.getPreferredSize();
    		panelDim = new Dimension();
    
    		tabs.addChangeListener(new ChangeListener() {
    			@Override
    			public void stateChanged(ChangeEvent e) {
    				Component p = ((JTabbedPane) e.getSource()).getSelectedComponent();
    
    				panelDim = p.getPreferredSize();
    				newDim = new Dimension(originalTabsDim.width
    						- (maxW - panelDim.width), originalTabsDim.height
    						- (maxH - panelDim.height));
    
    				HDMT.setPreferredSize(newDim);
    				NEMO.setPreferredSize(newDim);
    				tabs.getSelectedComponent().setPreferredSize(newDim);
    				pack();
    			}
    
    		});
    		panTab = new JPanel();
    		panTab.setLayout(new FlowLayout());
    		panTab.add(tabs);
    		
    		// Customer area
    		panCustomer = (JPanel) this.getContentPane();
    		panCustomer.setLayout(new BorderLayout());
    
    		panCustomer.add(panTab, BorderLayout.BEFORE_LINE_BEGINS);
    
    		// Add toolBar
    		toolBar = new ToolBar();
    		this.add(toolBar, BorderLayout.NORTH);
    	}
    De préférence avec une éventuelle méthodes car ma méthodes UtiltyMethods en a besoin car elle crée des sous onglets pour l'onglet HDMT
    Merci...

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Au lieu d'utiliser un stateChangeListener, utilise un ComponentAdapter, et implémente sa méthode componentResized() qui sera déclenchée quand le composant change de taille.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Dis-moi avec ceci ça à marcher est-ce correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HDMT.setPreferredSize(panTab.getPreferredSize());
    NEMO.setPreferredSize(panTab.getPreferredSize());

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Correct pour quoi ? Telle est la question...
    Ces lignes ne font que transmettre la taille préférentielle du composant panTabs aux 2 autres.

    Ceci serait plus adéquate pour ce que tu cherches à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HDMT.setPreferredSize(panTab.getSize());
    NEMO.setPreferredSize(panTab.getSize());
    getSize() donnant la taille réelle. Mais ceci ne fonctionne pas avec tous les LayoutManager (certains ne prennent en compte que la maximumSize et non la preferredSize), et il faut également forcer le relayouting par revalidate() et faire un repaint() pour voir le changement effectif.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Ok cool :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    HDMT.setPreferredSize(panTab.getSize());
    HDMT.revalidate();
    HDMT.repaint();
    NEMO.setPreferredSize(panTab.getSize());
    NEMO.revalidate();
    NEMO.repaint();

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Oups désoler mais en fait le tab s’agrandit à chaque changement d'onglet, il augment uniquement verticalement

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Tes panels (HDMT et NEMO), ils sont dans le JTabbedPane ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    En effet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    tabs = new JTabbedPane(SwingConstants.NORTH);
    // Add tabs
    tabs.add("HDMT", HDMT);
    tabs.add("NEMO", NEMO);
    tabs.setOpaque(true);

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Alors pourquoi avoir besoin de les dimensionner par rapport au JTabbedPane ? Cela se fait tout seul. Si tu le fais comme tu le fais, le problème, c'est que la taille du JTabbedPane comprend la taille de la barre d'étiquettes.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Tu as raison cela mais fait plus défaut qu'autre chose, et maintenant en supprimant carrément ce bout de code qui est sensé redimensionner le jtabbedpane ça fonctionne tout seul

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

Discussions similaires

  1. mise à la taille automatique
    Par NicolasMO dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/08/2007, 19h39
  2. Réponses: 41
    Dernier message: 24/05/2007, 13h27
  3. jFrame taille automatique
    Par nutix2003 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 28/03/2007, 11h33
  4. [C#] Taille automatique d'un panel avec scroolbar
    Par SharKeR dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/11/2006, 11h42
  5. [Image]Photos modification de la taille automatiquement ?
    Par chakan dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/03/2006, 03h04

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