JScrollPane dans un JPanel

c1rd3c Messages postés 15 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 21 avril 2008 - 24 juin 2005 à 11:32
c1rd3c Messages postés 15 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 21 avril 2008 - 27 juin 2005 à 09:14
Bonjour,



J'ai un JPanel dans le lequel je ve mettre un JScrollBar pour pouvoir mon arbre a l'interieur. Voici mon code source :



TreePanel = new JPanel();

this.getContentPane().add(TreePanel);

TreePanel.setLayout(null);

TreePanel.setPreferredSize(new java.awt.Dimension(537, 410));

TreePanel.setBounds(115, 0, 359, 410);

{

TreeScroller = new JScrollPane();

BorderLayout horizontalScrollBarLayout = new BorderLayout();

TreeScroller.getHorizontalScrollBar().setLayout(horizontalScrollBarLayout);

TreePanel.add(TreeScroller);

TreeScroller.setPreferredSize(new java.awt.Dimension(322, 401));

TreeScroller.setBounds(8, 4, 322, 401);

{

tree = new JTree();

TreeScroller.setViewportView(tree);

tree.setPreferredSize(new java.awt.Dimension(319, 398));

tree

.addTreeSelectionListener(new TreeSelectionListener() {

public void valueChanged(TreeSelectionEvent evt) {

try {



treeValueChanged(evt);

} catch (SQLException e) {



e.printStackTrace();

}

}

});

}

}

Le probleme, c'est que mon Scroll ne s'affiche pas, donc qd j'agrandit mon arbre, impossible de voir le bas!!! Comment faire?





Merci.

Cédric.

4 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
24 juin 2005 à 11:57
Slut

le JScrollPane est un composant dans lequel tu inséres un element. Or il semblerait que tu fasses l'inverse.



Tu devrais faire :

JScrollPane TreeScroller = new JScrollPane(TreePanel,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

this.getContentPane().add(TreeScroller);



Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
c1rd3c Messages postés 15 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 21 avril 2008
24 juin 2005 à 12:11
J'ai toujours le meme probleme. Quand j'agrandi mon arbre, je ne peux pas tt voir. Voila ce que j'ai remplacé :



JScrollPane TreeScroller = new
JScrollPane(TreePanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

this.getContentPane().add(TreeScroller);



//TreeScroller = new JScrollPane();

//BorderLayout horizontalScrollBarLayout = new BorderLayout();

//TreeScroller.getHorizontalScrollBar().setLayout(horizontalScrollBarLayout);

//TreePanel.add(TreeScroller);

TreeScroller.setPreferredSize(new java.awt.Dimension(322, 401));

TreeScroller.setBounds(115, 0, 359, 410);
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
24 juin 2005 à 16:12
humf, curieux, c'est peut-être le setBounds qui fait ca (ou autre, il faudrait voir un peu plus ton code pour en etre sur)

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
c1rd3c Messages postés 15 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 21 avril 2008
27 juin 2005 à 09:14
Salut,



En voila un peu plus :



private void initGUI() {

try {

//setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

this.getContentPane().setLayout(null);

{

ButtonPanel = new JPanel();

this.getContentPane().add(ButtonPanel);


ButtonPanel.setPreferredSize(new
java.awt.Dimension(115, 410));

ButtonPanel.setBounds(0, 0, 115, 410);

{

AddButton = new JButton();

ButtonPanel.add(AddButton);

AddButton.setText("Ajouter");


AddButton.setPreferredSize(new
java.awt.Dimension(95, 30));


AddButton.addActionListener(new
ActionListener() {


public void
actionPerformed(ActionEvent evt) {



AddButtonActionPerformed(evt);

}

});

}

{

DeleteButton = new JButton();

ButtonPanel.add(DeleteButton);


DeleteButton.setText("Supprimer");


DeleteButton.setPreferredSize(new
java.awt.Dimension(95, 30));



DeleteButton.addActionListener(new ActionListener() {


public void
actionPerformed(ActionEvent evt) {



DeleteButtonActionPerformed(evt);

}

});

}

{

SelectButton = new JButton();

ButtonPanel.add(SelectButton);

SelectButton.setText("Select");


SelectButton.setPreferredSize(new
java.awt.Dimension(95, 30));



SelectButton.addActionListener(new ActionListener() {


public void
actionPerformed(ActionEvent evt) {



SelectButtonActionPerformed(evt);

}

});

}

}

{

TreePanel = new JPanel();

this.getContentPane().add(TreePanel);

TreePanel.setLayout(null);


TreePanel.setPreferredSize(new
java.awt.Dimension(537, 410));

TreePanel.setBounds(115, 0, 359, 410);

{


JScrollPane TreeScroller = new
JScrollPane(TreePanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);



this.getContentPane().add(TreeScroller);




//TreeScroller = new
JScrollPane();


//BorderLayout
horizontalScrollBarLayout = new BorderLayout();



//TreeScroller.getHorizontalScrollBar().setLayout(horizontalScrollBarLayout);

//TreePanel.add(TreeScroller);


TreeScroller.setPreferredSize(new
java.awt.Dimension(322, 401));


TreeScroller.setBounds(115, 10,
359, 410);

{


tree = new
JTree();



TreeScroller.setViewportView(tree);



tree.setPreferredSize(new java.awt.Dimension(319, 398));

tree



.addTreeSelectionListener(new
TreeSelectionListener() {



public void valueChanged(TreeSelectionEvent evt) {



try {




treeValueChanged(evt);



} catch (SQLException e) {




e.printStackTrace();



}



}



});

}

}

}



En fait j'ai fais plusieurs panel avec ds un premier des boutons, et
donc dans l'autre un tree. Je comprends pas pkoi ce scoll ne s'affiche
pas.



Merci bp.
0
Rejoignez-nous