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 :

JScrollPane et JPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut JScrollPane et JPanel
    Bonjour à tous!
    J'ai deja recherché sur le forum sans succes, et modifié encore et encore mon code, je suis toujours face à un probleme dans mon JPanel qui ne veut pas prendre en compte ma JScrollPane.

    Voila la class du Panel:

    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import javax.swing.JComboBox;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;

    public class OuvPartPanel extends JPanel {

    // Declaration d'objets graphique
    JPanel mainPanel,temp;
    JScrollPane scrollPane;

    JPanel blPanel1, blPanel2,blPanel3,blPanel4,blPanel5,blPanel6,blPanel7,
    blPanel8,blPanel9,blPanel10;
    JPanel gridPanel1, gridPanel2, gridPanel3, gridPanel4, gridPanel5, gridPanel6,
    gridPanel7, gridPanel8, gridPanel9, gridPanel10;
    JLabel op1, op2, op3, op4, op5, op6, op7, op8, op9, op10;
    JLabel opDate1, opDate2, opDate3, opDate4, opDate5, opDate6, opDate7, opDate8,
    opDate9, opDate10;
    JLabel opHo1, opHo2, opHo3, opHo4, opHo5, opHo6, opHo7, opHo8, opHo9, opHo10;
    JLabel opHf1, opHf2, opHf3, opHf4, opHf5, opHf6, opHf7, opHf8, opHf9, opHf10;
    JComboBox cbOpDJ1, cbOpDJ2, cbOpDJ3, cbOpDJ4, cbOpDJ5, cbOpDJ6, cbOpDJ7, cbOpDJ8,
    cbOpDJ9, cbOpDJ10;
    JComboBox cbOpDM1, cbOpDM2, cbOpDM3, cbOpDM4, cbOpDM5, cbOpDM6, cbOpDM7, cbOpDM8,
    cbOpDM9, cbOpDM10;
    JComboBox cbOpDA1, cbOpDA2, cbOpDA3, cbOpDA4, cbOpDA5, cbOpDA6, cbOpDA7, cbOpDA8,
    cbOpDA9, cbOpDA10;
    JComboBox cbOpHoH1, cbOpHoH2, cbOpHoH3, cbOpHoH4, cbOpHoH5, cbOpHoH6, cbOpHoH7,
    cbOpHoH8, cbOpHoH9, cbOpHoH10;
    JComboBox cbOpHoM1, cbOpHoM2, cbOpHoM3, cbOpHoM4, cbOpHoM5, cbOpHoM6, cbOpHoM7,
    cbOpHoM8, cbOpHoM9, cbOpHoM10;
    JComboBox cbOpHfH1, cbOpHfH2, cbOpHfH3, cbOpHfH4, cbOpHfH5, cbOpHfH6, cbOpHfH7,
    cbOpHfH8, cbOpHfH9, cbOpHfH10;
    JComboBox cbOpHfM1, cbOpHfM2, cbOpHfM3, cbOpHfM4, cbOpHfM5, cbOpHfM6, cbOpHfM7,
    cbOpHfM8, cbOpHfM9, cbOpHfM10;

    JPanel[] blPanel ={blPanel1, blPanel2,blPanel3,blPanel4,blPanel5,blPanel6,blPanel7, blPanel8,blPanel9,blPanel10};
    JPanel[] gridPanel ={gridPanel1, gridPanel2, gridPanel3, gridPanel4, gridPanel5, gridPanel6, gridPanel7, gridPanel8, gridPanel9, gridPanel10};
    JLabel[] op ={op1, op2, op3, op4, op5, op6, op7, op8, op9, op10};
    JLabel[] opDate ={opDate1, opDate2, opDate3, opDate4, opDate5, opDate6, opDate7, opDate8,opDate9, opDate10};
    JLabel[] opHo ={opHo1, opHo2, opHo3, opHo4, opHo5, opHo6, opHo7, opHo8, opHo9, opHo10};
    JLabel[] opHf ={opHf1, opHf2, opHf3, opHf4, opHf5, opHf6, opHf7, opHf8, opHf9, opHf10};
    JComboBox[] cbOpDJ ={cbOpDJ1, cbOpDJ2, cbOpDJ3, cbOpDJ4, cbOpDJ5, cbOpDJ6, cbOpDJ7, cbOpDJ8, cbOpDJ9, cbOpDJ10};
    JComboBox[] cbOpDM ={cbOpDM1, cbOpDM2, cbOpDM3, cbOpDM4, cbOpDM5, cbOpDM6, cbOpDM7, cbOpDM8, cbOpDM9, cbOpDM10};
    JComboBox[] cbOpDA ={cbOpDA1, cbOpDA2, cbOpDA3, cbOpDA4, cbOpDA5, cbOpDA6, cbOpDA7, cbOpDA8, cbOpDA9, cbOpDA10};
    JComboBox[] cbOpHoH ={cbOpHoH1, cbOpHoH2, cbOpHoH3, cbOpHoH4, cbOpHoH5, cbOpHoH6, cbOpHoH7, cbOpHoH8, cbOpHoH9, cbOpHoH10};
    JComboBox[] cbOpHoM ={cbOpHoM1, cbOpHoM2, cbOpHoM3, cbOpHoM4, cbOpHoM5, cbOpHoM6, cbOpHoM7, cbOpHoM8, cbOpHoM9, cbOpHoM10};
    JComboBox[] cbOpHfH ={cbOpHfH1, cbOpHfH2, cbOpHfH3, cbOpHfH4, cbOpHfH5, cbOpHfH6, cbOpHfH7, cbOpHfH8, cbOpHfH9, cbOpHfH10};
    JComboBox[] cbOpHfM ={cbOpHfM1, cbOpHfM2, cbOpHfM3, cbOpHfM4, cbOpHfM5, cbOpHfM6, cbOpHfM7, cbOpHfM8, cbOpHfM9, cbOpHfM10};

    OuvPartPanel(){

    mainPanel = new JPanel(new GridLayout(10,1));
    temp = new JPanel(new BorderLayout());

    for ( int i=0;i<10;i++ ){
    blPanel[i] = new JPanel(new BorderLayout());
    gridPanel[i] = new JPanel(new GridLayout(3,4));
    op[i] = new JLabel("<html><B>Ouverture Particulière "+i+" : </html>");
    opDate[i] = new JLabel(" Date : (jour, mois, année)");
    opHo[i] = new JLabel(" Heure d'ouverture : (heure, minute)");
    opHf[i] = new JLabel(" Heure de fermeture : (heure, minute)");
    cbOpDJ[i] = new JComboBox();
    cbOpDM[i] = new JComboBox();
    cbOpDA[i] = new JComboBox();
    cbOpHoH[i] = new JComboBox();
    cbOpHoM[i] = new JComboBox();
    cbOpHfH[i] = new JComboBox();
    cbOpHfM[i] = new JComboBox();

    blPanel[i].add(op[i], BorderLayout.NORTH);
    gridPanel[i].add(opDate[i]);
    gridPanel[i].add(cbOpDJ[i]);
    gridPanel[i].add(cbOpDM[i]);
    gridPanel[i].add(cbOpDA[i]);
    gridPanel[i].add(opHo[i]);
    gridPanel[i].add(cbOpHoH[i]);
    gridPanel[i].add(cbOpHoM[i]);
    gridPanel[i].add(new JLabel(" "));
    gridPanel[i].add(opHf[i]);
    gridPanel[i].add(cbOpHfH[i]);
    gridPanel[i].add(cbOpHfM[i]);
    blPanel[i].add( gridPanel[i] );

    mainPanel.add(blPanel[i], BorderLayout.CENTER);

    }
    this.setPreferredSize(new Dimension(800,300));
    scrollPane = new JScrollPane();
    scrollPane.setViewportView(mainPanel);
    //this.setPreferredSize(new Dimension(800,800));
    //scrollPane = new JScrollPane(mainPanel);
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scrollPane.setPreferredSize(new Dimension(20, 100));

    temp.add(mainPanel);
    temp.add(scrollPane, BorderLayout.EAST);

    this.add(temp);
    }
    }



    Et Voici la class de Test

    import javax.swing.JFrame;

    public class TestOuvPartPanel extends JFrame {
    public TestOuvPartPanel(){
    setTitle("Test Ouverture particuliere");
    setSize(850,440);
    setResizable(true);
    OuvPartPanel panel = new OuvPartPanel();
    getContentPane().add(panel);
    setVisible(true);
    }

    public static void main(String[] args){
    new TestOuvPartPanel();
    }
    }

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Desolé pour la surcharge du code...
    La JScrollPane est grisée et le curseur n'apparait pas

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 65
    Par défaut
    Salut,

    Premièrement tu n'as pas besoin du panneau temp.
    Ensuite ton erreur vient du fait que tu ajoutes le panneau qui va être dans le scroll pane et le scroll pane au panenau temp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    temp.add(mainPanel);
    temp.add(scrollPane, BorderLayout.EAST);
    Tu n'as pas besoin de faire ça il faut simplement que tu ajoutes ton scroll pane à ton panneau OuvPartPanel.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Petite question bete, mais comment fait on ???

    j'ai enlevé temp et j'ai fait:

    add(mainPanel);
    add(scrollPane);

    la barre ne s'affiche meme plus.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 65
    Par défaut
    Tu n'as pas besoin d'ajouter mainPanel ET scrollPane à ton panneau OuvPartPanel.
    Tu ne dois ajouter QUE scrollPane (car mainPanel est contenu dans scrollPane, tu l'as ajouté quand tu as fait scrollPane.setViewportView(mainPanel))).
    Du coup tu as seulement besoin de la ligne add(scrollPane).

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. JScrollPane et JPanel
    Par Janosor dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 06/02/2010, 18h11
  2. JScrollPane et JPanel
    Par Yopii dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 27/10/2009, 11h28
  3. JScrollPane et JPanel
    Par Schyzophrenic dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 04/07/2008, 19h48
  4. JscrollPane et Jpanel
    Par restricteur dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 21/05/2008, 21h34
  5. JScrollPane Graphics/ JPanel
    Par daedric dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 26/05/2006, 12h28

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