JScrollbar et JPanel

Signaler
Messages postés
10
Date d'inscription
jeudi 1 juillet 2004
Statut
Membre
Dernière intervention
8 août 2006
-
mahlaoui
Messages postés
29
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
13 octobre 2008
-
bonjour a tous!

Bon ben je sais qu'il y a plein d'exemple sur le forum mais je trouve pas la réponse a mon problème...
J'ai un Jpanel général qui contient d'autres Jpanels afin de pouvoir les organiser dans ma JFrame. Le problème est que la somme de tous mes petits panels est plus grande que l'écran. J'ai donc fais un JScrollPane ou j'ai inclu mon JPanel général... mais il ne m'affiche pas les JScrollBar.

est-ce que j'ai manqué une étape? je vous laisse mon code si jamais...
Merci d'avance pour vos réponses...

public class Panel  extends JFrame{
   
    /**
     *
     */
    private static final long serialVersionUID = 1L;
   
    private JPanel panelClient = new JPanel(null);
    private JPanel panelAppareil = new JPanel(null);
    private JPanel panelSearch = new JPanel(null);
    private JPanel panelGeneral = new JPanel(null);
   
    Panel()
    {
        setTitle("Panel");
        setBounds(10,20,420,260);
        setExtendedState(MAXIMIZED_BOTH);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
       
        createPanel();
       
        JScrollPane jspPanel = new JScrollPane();
        jspPanel.setViewportView(panelGeneral);
        jspPanel.createVerticalScrollBar();
       
        setContentPane(jspPanel);
       
        setVisible(true);
    }
   
    public void createPanel()
    {
        panelClient = new FormClient().getPanel();
        panelClient.setBounds(0,0,400,300);
        panelGeneral.add(panelClient);
       
        panelAppareil = new FormAppareil().getPanel();
        panelAppareil.setBounds(400, 0, 400, 300);
        panelGeneral.add(panelAppareil);
       
        panelSearch = new SearchClient().getPanel();
        panelSearch.setBounds(0, 600, 400, 300);
        panelGeneral.add(panelSearch);
    }
}

++

6 réponses

Messages postés
10
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
4 août 2006

essayes un pack() dans Panel()
Messages postés
10
Date d'inscription
jeudi 1 juillet 2004
Statut
Membre
Dernière intervention
8 août 2006

quand je fais un pack() dans panel(), la fenetre s'affiche déjà en icone et non en grand comme je l'ai programmé. De plus, ca ne donne rien du point de vu du JPanel. je n'ai toujours pas de scrollbar sur les cotés.

please help...
++
Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
89
Salut,


utilise des Layout et non un positionnement à la volé ca evite ce genre de problèmes

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Messages postés
10
Date d'inscription
jeudi 1 juillet 2004
Statut
Membre
Dernière intervention
8 août 2006

J'ai essayé egalement avec le layout mais rien de concret... je n'ai toujours pas mes JScrollBar sur les cotés.
D'un autre coté, le placement a la volé est interressant car il me permet de positionner mes elements comme j'en ai envie meme si des fois c'est un peu embetant de verifier la position de chaque objet...

bon ben je suis preneur de toutes les nouvelles idées...
Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
89
Salut,


Si tu veux placer tes composants comme tu le veux utilise le
GridBagLayout il est génial comme layout un peu fastidieux mais génial
(regarde ma source qui modifie les gain et le pan d'un son elle utilise
le GridBagLayout)


sinon normalement si tu veux absolument afficher les JScrollBar de ton
JScrollPane regarde du coté de la methode setHorizontalScrollBarPolicy
&& setVerticalScrollBarPolicy de JScrollPane

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Messages postés
29
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
13 octobre 2008

Merci