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 :

Pourquoi JScrollPanes long à afficher?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut Pourquoi JScrollPanes long à afficher?
    Bonjour, dans mon application JAVA j'utilise pas mal de JScrollpane contenant un JPanel dans lequel je place des éléments.
    A chaque fois, les JScrollpane sont relativement long à s'afficher lors du test de l'application et je ne comprend pas pourquoi. Même quand j'ai un code très simple come celui qui suit le JScrollpane met bien une demi seconde pour s'afficher à l'écran.. quelqu'un sait-il pourquoi et si il y a un moyen pour résoudre ce problème?



    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
    public class SuggestionsPanel extends javax.swing.JPanel {
     
        public SuggestionsPanel() {
            initComponents();
     
        }
     
     
        private void initComponents() {
     
            jScrollPane1 = new javax.swing.JScrollPane();
            jPanel1 = new javax.swing.JPanel();
            jLabel1 = new javax.swing.JLabel();
            jScrollBar1 = new javax.swing.JScrollBar();
     
            setLayout(null);
     
            jScrollPane1.setVerticalScrollBar(jScrollBar1);
     
            jPanel1.setBackground(new java.awt.Color(255, 51, 0));
            jPanel1.setPreferredSize(new java.awt.Dimension(400, 400));
            jPanel1.setLayout(null);
     
            jLabel1.setText("jLabel1");
            jPanel1.add(jLabel1);
            jLabel1.setBounds(100, 50, 40, 13);
     
            jScrollPane1.setViewportView(jPanel1);
     
            add(jScrollPane1);
            jScrollPane1.setBounds(350, 130, 451, 250);
            add(jScrollBar1);
            jScrollBar1.setBounds(220, 200, 15, 55);
        }
     
        private javax.swing.JLabel jLabel1;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JScrollBar jScrollBar1;
        private javax.swing.JScrollPane jScrollPane1;
     
    }

  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
    La faute au LayoutManager que tu utilises. Le pire de tous aka le NullLayout.

    Le setBounds & cie c'est à éviter comme la peste, en particulier avec les JScrollPane.

  3. #3
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Citation Envoyé par sinok Voir le message
    La faute au LayoutManager que tu utilises. Le pire de tous aka le NullLayout.

    Le setBounds & cie c'est à éviter comme la peste, en particulier avec les JScrollPane.
    Bonjour,

    Du coup, si on a une image de fond sur un Jpanel entier et qu'on souhaite mettre un JButton (par exemple) en x,y, il faut utiliser quel code ?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par Paniez Voir le message
    Bonjour,

    Du coup, si on a une image de fond sur un Jpanel entier et qu'on souhaite mettre un JButton (par exemple) en x,y, il faut utiliser quel code ?

    Tu crée, ou tu réutilise depuis un framework tiers, un layoutmanager qui accepte de prendre des coordonées fixes. L'interface layoutmanager2 n'étant pas spécialement difficile à implémenter.

  5. #5
    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
    Les élements que tu places sur ton JPanel doivent être cliquables? Comment ajoutes tu ton image à ton JPanel. Que cherches tu à faire en fait.
    Car nettement il nous manque des infos en fait

  6. #6
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    A l'heure actuelle, quand je souhaite faire un JPanel avec des composants (n'importe lesquels et avec leur(s) action(s) associée(s)) et que je souhaite les mettre à un endroit précis (par la biais de coordonnées x,y), mis à part de passer par setBounds, je ne vois pas comment faire.
    C'est juste que si "Le setBounds & cie c'est à éviter comme la peste, en particulier avec les JScrollPane.", j'aimerais savoir comment changer ma méthodologie pour avoir un truc plus propre.

    Sinon, j'ai regardé côté layoutmanager2, mais je ne vois pas en quoi ça règlerais le problème.


    Merci

Discussions similaires

  1. [JScrollPane] n'affiche pas toute ma JList dynamique
    Par Strab dans le forum Composants
    Réponses: 4
    Dernier message: 01/07/2008, 17h57
  2. Je sais pas pourquoi ça m'affiche que la racine de Tree
    Par groupe dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 02/06/2008, 15h01
  3. Réponses: 9
    Dernier message: 15/02/2007, 14h57
  4. [JScrollPane,JTable]Afficher un endroit de la JTable
    Par warwink dans le forum Composants
    Réponses: 1
    Dernier message: 28/12/2006, 05h00
  5. Réponses: 3
    Dernier message: 03/10/2006, 20h33

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