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

Agents de placement/Fenêtres Java Discussion :

Comportement du JScrollPane dans un JPanel


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut Comportement du JScrollPane dans un JPanel
    Bonjour,

    J'ai un JPanel dans lequel, j'affiche une JList et à droite, j'affiche un JScrollPane, malheureusement, à l'affichage je ne vois presque pas le JScrollPane, voyez plutôt :

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
          	listeCles = new JList(cles);
          	listeCles.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
          	listeCles.setLayoutOrientation(JList.VERTICAL);
     
          	JScrollPane scrollPane = new JScrollPane(listeCles);
     
          	panneau.add(titre, BorderLayout.NORTH);
    		panneau.add(scrollPane, BorderLayout.EAST);
          	panneau.add(listeCles, BorderLayout.CENTER);
    Je précise que listeCles, contient 50 String.

    Pouvez-vous m'aider

    Merci par avance

    carnibal

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu ajoutes deux fois ton composants listeCles : la première fois dans le JScrollPane et la seconde fois directement dans ton panneau. Du coup il est "sorti" du scrollpane qui devient vide !

    Un composant ne peut avoir qu'un seul parent !

    a++

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut
    Merci beaucoup.

    Maintenant, je charge l'image sans rien dans le panneau a gauche et quand je clique sur "ouvrir le dictionnaire" ca me lance une fonction qui est censé m'aficher les clé dans le panneau de gauche

    Mais aucun résultat, le panneau reste toujours blanc. Savez-vous pourquoi ?

    Merci par avance

    carnibal

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut
    faudrait voir ta fonction il doit y avoir un petit problème dans celle ci

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut
    Voici ma méthode :
    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
     
     
    public void ecouteurMenuOuvrir() {
        	LinkedHashMap itemsMenus = men.getItems();
            JMenuItem menuOuvrir = (JMenuItem)itemsMenus.get("Charger");
     
        	menuOuvrir.addActionListener ( new ActionListener() {	 
    	            public void actionPerformed (ActionEvent e) {
     
    	            	JFileChooser openDico = new JFileChooser();
    				    FiltreC filtre = new FiltreC("conf","Fichiers CONF");
     
    				    openDico.setFileFilter(filtre);
     
    	            	int valReturn = openDico.showOpenDialog(null);
    		    		if( valReturn == JFileChooser.APPROVE_OPTION ) {
     
    		    			String nomDico = openDico.getSelectedFile().getName();
    		    			String[] infosDico = getInfosDico( nomDico );
     
    		      			loadDico(infosDico[0], infosDico[1]);
    		      			System.out.println(infosDico[0]+" "+infosDico[1]+" "+nomDico);
    		    		}
    		    	}
        	} );
        }
     
        private void loadDico(String name, String version) {
        	HashMap dico = (HashMap) Config.load(name,version);
        	DefaultListModel cles = new DefaultListModel();
     
        	if( dico == null ) return;
     
        	this.dicoConfig = dico;
        	this.nameDico = name;
        	this.versionDico = version;
     
        	JPanel panneau = pan.getPanneauEst(); // pan est un attribut privé
     
        	panneau.setLayout( new BorderLayout() );
     
        	JLabel titre = new JLabel(" - "+name+"-"+version+".conf : ", SwingConstants.LEFT);
     
        	Iterator i = dico.keySet().iterator();
     
        	String cle = null;
        	int l = 0;
     
           	while(i.hasNext()) {
          		cle = (String)i.next();
     
          		cles.addElement( cle );
     
          		l++;
          	} 
     
          	JList listeCles = new JList(cles);
          	listeCles.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
          	listeCles.setLayoutOrientation(JList.VERTICAL);
     
          	JScrollPane scrollPane = new JScrollPane(listeCles);
     
          	panneau.add(titre, BorderLayout.NORTH);
    		panneau.add(scrollPane, BorderLayout.CENTER);
        }

    Donc j'affiche d'abord ma fenetre vide, puis je fais appel a ma fonction loadDico.

    Pouvez-vous m'aider ?

    merci par avance
    carnibal

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut
    Bon apparemment il faut utiliser les méthodes paint et repaint mais je ne vois pas où les utiliser, du coup, je cache la fenetre, j'ajoute mes composants au panel puis je ré-affiche la fenêtre. Donc Résolu.

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

Discussions similaires

  1. JScrollPane dans un JPanel
    Par moudjames23 dans le forum Composants
    Réponses: 4
    Dernier message: 18/04/2015, 05h41
  2. Réponses: 3
    Dernier message: 08/03/2011, 21h53
  3. [Java] JScrollPane dans JTabbedPane + JPanel
    Par SoGeek dans le forum Composants
    Réponses: 3
    Dernier message: 21/02/2011, 15h51
  4. JscrollPane dans un Jpanel
    Par Lamy20 dans le forum Débuter
    Réponses: 6
    Dernier message: 24/07/2009, 23h34
  5. Probleme JScrollPane dans un JPanel
    Par aurore22 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 31/05/2008, 22h20

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