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 :

Problème affichage JScrollPane


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut Problème affichage JScrollPane
    Bonjour,

    J'ai un problème concernant l'affichage du JScrollPane sur le mainPanel. . En fait ce que j'ai déjà fait est le suivant :

    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
     
    // le mainPanel et le mainPanelLayout
    mainPanel.setLayout(mainPanelLayout);
    mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING));
    mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING));
     
    // Ajout des composants (champs textes, listes déroulantes, boutants ... ): je l'ai fait de la façon suiavnte :
     
    composant.setName("nameComp");        composant.setFont(resourceMap.getFont("composant.font"));
    composant.setForeground(resourceMap.getColor("composant.foreground"));
    composant.setBounds(170, 60, 600, 23);
    mainPanel.add(composant);
     
    // Ajout du scrollBar
    scrollF = new JScrollPane(mainPanel);
    scrollF.setVisible(true);
    mainPanel.setVisible(true);
    mainFrame.getContentPane().add(scrollF);
    mainFrame.getContentPane().add(mainPanel);
    mainFrame.setVisible(true);
    Le scrollBar ne s'affiche pas.
    SVP, quelqu'un pourrait me renseigner où est l'erreur ? Pourquoi le scrollBar ne s'affiche pas ? .... Je vous serais très reconnaissante.
    Merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu as un problème avec les lignes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mainFrame.getContentPane().add(scrollF); mainFrame.getContentPane().add(mainPanel);
    En effet tu as déjà ajouté mainPanel à scrollF lors de l'instanciation de ce dernier.
    De pas pas besoin d'ajouter mainPanel à ton contentPane.

    Donc tu dois supprimer d'urgence la seconde ligne, c'est elle qui fout la grouille.

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    Merci Sinok.

    effectivement j'ai supprimé l'instruction : "mainFrame.getContentPane().add(mainPanel);" ,

    Le scrollBar ne s'affiche pas ... Étonnant

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il faut savoir que par défaut, les barres du JScrollPane n'apparaissent que quand le contenu est plus grand que le scrollpane en lui même.

    Le problème dans ton code vient du fait que tu utilises un nullLayout, Layout qui ne recalcule pas la taille des composants. De fait le composant que tu as mis dans ton mainPanel n'a aucune taille, donc ton mainPanel ne fait pas le calcul.

    Le plus simple pour toi serait d'arrêter d'utiliser le layout null et les setBounds et d'utiliser un Layout digne de ce nom.

    Que cherches tu à obtenir comme disposition dans ton Scrollpane?

  5. #5
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    J'ai besoin du ScrollPane car le contenu depasse la longueur de la fenêtre. donc le ScrollBar doit apparaitre.

    Je suis tout à fait d'accord concernant:

    Le problème dans ton code vient du fait que tu utilises un nullLayout, Layout qui ne recalcule pas la taille des composants. De fait le composant que tu as mis dans ton mainPanel n'a aucune taille, donc ton mainPanel ne fait pas le calcul.

    Le plus simple pour toi serait d'arrêter d'utiliser le layout null et les setBounds et d'utiliser un Layout digne de ce nom.
    comment créer " un Layout digne de ce nom " ?

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    On utilise un LayoutLanager, tel qu'un BorderLayout, un BoxLayout, un GridLayout, un FlowLayout, un GridBagLayout...

    Cf le tutoriel suivant: http://download.oracle.com/javase/tu...ut/visual.html

  7. #7
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    OK... je vais voir avec ça ... Merci

  8. #8
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    ça fonctionne bien en utilisant un GroupLayout. Le scrollBar s'affiche. Mais j'ai un autre problème maintenant.
    Lorsque je lance mon application le contenu s'affiche avec le scrollBar (le contenu contient des champs textes et des boutons) . Mais si je clique sur un bouton le contenu devient inactif (cad je ne peux plus ecrire dans les champs textes ni cliquer sur les boutons).

  9. #9
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Que fais tu dans le listener attaché au bouton?

  10. #10
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    Voici un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                validerButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    if (e.getSource() == validerButton) {
                        validerAjout();
                    }
                }
            });

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En même temps, sans savoir ce que fait la méthode validerAjout, je ne vais pas franchement pouvoir t'aider

  12. #12
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    Pas de problème ... je te remercie pour ton aide sur le Layout ... Je cherche encore pour le reste

  13. #13
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En fait mon message précédent était juste une façon détournée de te demander le contenu de la méthode

  14. #14
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    Salut,
    Désolée pour le retard Sinock.
    en fait la méthode "validerAjout()" va appeler une méthode d'une classe DAO pour faire des insertions dans une table de la BD.
    Je pense pas que le pb vient du contenu de la méthode "validerAjout()" car la même chose se produit si je mets en commentaire le contenu de la methode et je le remplace par un "System.out.println ( "Bonjour");"
    Je t'explique comment j'ai procédé: J'ai crée une classe mère qui contient le mainPanel, mainFrame et mainPanelLayout. Ces objets sont instanciés en niveau de cette classe mère. J'ai fait de sorte que les autres classes de l'application (mon application contient des onglets , pour chaque onglet j'ai fait une classe) étendent de cette classe mère et utilisent ces objets (mainPanel, mainFrame et mainPanelLayout)
    Est ce que l'erreur peu venir de là ?

  15. #15
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    j'ai corrigé ça

    en fait, j'ai enlevé le mainPanelLayout à partir de la classe mère et je l'ai instancié pour chaque classe fille dans lesquelles j'ai crée un GroupLayout ...
    ça marche maintenant

  16. #16
    Nouveau candidat au Club
    Profil pro
    Chargée de communication
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Chargée de communication

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut Probleme avec jscrollpane
    salut à tous je suis entrain de developper un site mais j'ai eu un soucis avec le scrollbar qui ne marche pas avec un module joomla:
    voici le lien :http://ks201055.kimsufi.com/~testsit...emid=4&lang=fr

    dans evenement je veut mettre un scrollpane personnalisé merci!

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

Discussions similaires

  1. Problème affichage Jscrollpane
    Par Chamalowe dans le forum Composants
    Réponses: 3
    Dernier message: 23/05/2015, 19h36
  2. Problème affichage dans JScrollPane
    Par alex2746 dans le forum Composants
    Réponses: 3
    Dernier message: 15/11/2010, 13h02
  3. Problème avec JScrollPane et label
    Par gl0be dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 26/11/2004, 18h08
  4. [Plugin][VE] Problème affichage
    Par sebb84 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/07/2004, 15h50
  5. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 14h31

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