dugros
Messages postés6Date d'inscriptionvendredi 2 juillet 2004StatutMembreDernière intervention 7 juillet 2004
-
2 juil. 2004 à 15:55
cerec59
Messages postés26Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 4 juillet 2005
-
7 juin 2005 à 09:15
Salut !
j'ai construit un arbre qui m'affiche toutes sortes d'informations, dont un JTable.
J'ai besoin d'un JScrollPane pour naviguer dans ce tableau qui a une taille fixe. et j'ai besoin de faire des selections dedans.
Mon problème c'est que le rendu me donne une image de mon tableau & jscrollpane, je ne peux naviguer dans mon tableau. Je pensais qu'en castant le rendu serait capable de le gerer comme un objet de type scrollpane ???
Voici le code :
(D'ailleurs si quelqu'un à une manière plus élégante de gérer le rendu ca serait utile !)
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 2 juil. 2004 à 17:46
GodConan :clown)
pouwaa qu el horro une JTable ds un JTree : c est pas tres lisible n y meme ergonomic ton truc : j te conseil d essayer de faire autrement. Y a pas mal de solution pour eviter de faire ca.. ;o)
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 2 juil. 2004 à 23:21
GodConan :clown)
no pas ca je t di de faire
fo pas faire des JPanel
mes des TonPanel qui herite d un panel
et ds le constructeur de ToPanel tu met tou les component don tu a besoin....
dugros
Messages postés6Date d'inscriptionvendredi 2 juillet 2004StatutMembreDernière intervention 7 juillet 2004 6 juil. 2004 à 15:22
J'ai trouvé la solution, il faut rendre le tree editable (tree.setEditable(true);
) et ajouter un treeeditor (tree.setCellEditor(new MonTreeEditor());) pour que le panel recoive l'action.
La classe MonTreeEditor implement un treecelleeditor
public class MonTreeEditor implements TreeCellEditor {
if ( dmtn.getUserObject() instanceof JPanel ) {
JPanel jp = (JPanel) dmtn.getUserObject();
return jp;
}
else if ( dmtn.getUserObject() instanceof java.lang.String) {
String lab = (String) dmtn.getUserObject();
return new JLabel(lab);//TODO need to do in a better way that create a new JLabel
}
else {
return null;//never used
}
public boolean isCellEditable(EventObject evt) {
if (evt instanceof MouseEvent) {
if (((MouseEvent) evt).getClickCount() == 1) {
return true;
}
}
else return false;
}
//... other fonctions... to implement
}
Le "create new Jpanel" est bof, mais je vois pas comment faire, lorsque je passe un String à mon noeud lors de la creation, celui ci deviens un JPanel... Si quelqu'un à une meilleur solution...
cerec59
Messages postés26Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 4 juillet 2005 7 juin 2005 à 09:15
Salut
pour ton probleme avec le scroll de ton jtable, va voir sur le site de sun et recherche le code pour le JTreeTable. c'est ce que tu as réalisé et y'a pas de soucis pour les scroll.
Ca utilise plusieurs classes:
FileSystemModel: c le modele pour ton tableau et
dans le constructeur que tu peux modifier le repertoire à lister
a+ et bon courage pour comprendre le code