JScrollPane et JCanvas extends JPanel [Résolu]

Signaler
Messages postés
22
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
15 novembre 2005
-
kuruma
Messages postés
22
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
15 novembre 2005
-
/***************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
A voir également:

5 réponses

Messages postés
54
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
4 décembre 2005

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)
----
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11
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"
Messages postés
22
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
15 novembre 2005

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
Messages postés
54
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
4 décembre 2005

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)
----
Messages postés
22
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
15 novembre 2005

Merci c'est exactement ce qu'il fallait.