JScrollPane et JCanvas extends JPanel

Résolu
kuruma Messages postés 22 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 15 novembre 2005 - 12 nov. 2005 à 00:56
kuruma Messages postés 22 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 15 novembre 2005 - 15 nov. 2005 à 22:06
/***************class JCanvas**************************/

import java.awt.*;

import javax.swing.*;

import javax.swing.JPanel;



public class JCanvas extends JPanel{



private Arbre mA;



public void SetArbre(Arbre mA){

this.mA=mA;

}



public void dessineArbre(Graphics g, Arbre A) {

...

}



public void paint(Graphics GC) {



//dessine dans la JCanvas qui est un JPanel

dessineArbre(GC,mA);

}



}









/***************class principal**************************/



public class Main extends JFrame {

...

JCanvas JC = new JCanvas();

JScrollPane(JC,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,

JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

Container Conteneur=null;

...

public Main(){

Conteneur=this.getContentPane();

Conteneur.setLayout(null);

...

JSPArbre.setBounds(240, 40, 764, 688);

...

Conteneur.add(JSPArbre);

JC.SetArbre(Racine);

}





public static void main(String[] args){

new Main().setVisible(true);

Arbre Racine = new Arbre();

}







/*******************************************/



voilà mon probleme :



Je mets un JCanvas JC (JPanel en fait), dans un JScrollPane JSPArbre

JC me permet de dessiner, je dessine des dessins plus grand que je JScrollPane...

Or mon JScrollPane ne marche pas....



où est le probleme??....

(je ne mets pas de taille pour mon JCanvas)

Si j'en ajoute une dans la classe principal, ca ne change rien toujours
pas de scroll possible...( les bars sont là mais je ne peux pas les
déplacer)...



Quelqu'un pourrait il m'aider? j'ai fouiné sur le forum et les tutoriaux, mais je n'ai pas réussi à trouver...



p.s: si je met autre chose qu'un JCanvas extends JPanel, (un JText ou
JList, ca marche nickel) j'ai un scroll....dans mon JScrollPAne



merci

5 réponses

bastet1978 Messages postés 54 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 4 décembre 2005
14 nov. 2005 à 23:56
Bonjour ,







Ajoute dans ton panel:

public Dimension getMinimumSize(){

return new Dimension(800, 600); // taille mini voulue

}

public Dimension getPreferredSize(){

return getMinimumSize();

}

public Dimension getMaximumSize(){

return getMinimumSize();

}


----
OS: Ubuntu 5.10(linux)
jdk : 1.5.0
MysqlConnector/J: 3.2
mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i486)
----
3
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
12 nov. 2005 à 10:07
enleve le code concernant le Jscroll et essai d'ajouter ton panel comme ceci :
Conteneur.add(new JScrollPane(JSPArbre));
normalement des que tu depasse les limite le JScrollPane devrai apparaitre
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
kuruma Messages postés 22 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 15 novembre 2005
12 nov. 2005 à 17:14
Merci de ta réponse,

mais ca ne marche pas, le JSPArbre disparait complétement...

En fait je pense que le probleme vient du fait que je ne fixe pas de taille pour mon JCanvas extends JPanel,...je dessine dedans et quand la taille depasse celle du JSPArbre (le JScrollPane)...il ne m'affiche pas les scrollbars...

si je fais :
JScrollPane(JC,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
J'ai bien les Scrollbars mais elle ne marche pas.

Mais si je fais :
JC.setBounds(240, 40, 2000, 2000);
//donc je fixe une taille..toujours pas de Scollbars actives...

Je ne vois pas comment faire....y'a t'il un autre OBJET que le JPanel pour dessiner quelque chose??

J'ai essayé de faire un "extends JFrame" mais mon compilateur me trouve une erreur...

Merci
0
bastet1978 Messages postés 54 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 4 décembre 2005
14 nov. 2005 à 23:59
PS:





Dans un JPanel c'est

paintComponent(Graphics g)

----
OS: Ubuntu 5.10(linux)
jdk : 1.5.0
MysqlConnector/J: 3.2
mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i486)
----
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kuruma Messages postés 22 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 15 novembre 2005
15 nov. 2005 à 22:06
Merci c'est exactement ce qu'il fallait.
0
Rejoignez-nous