cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004
-
6 juil. 2004 à 11:27
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 2006
-
6 juil. 2004 à 18:33
Bonjour,
Je suis en train de faire une interface graphique pour arborescence des fichiers d'un ordinateur avec des checkbox devant chaque fichier et dossier.
Malheureusement, je suis confronté à une exception que je ne comprends pas.
Pourriez vous me dire ce qui génère cette exection et ce qu'il faut faire pour la faire disparaitre??
voici ce que Jbuilder me dit :
java.lang.OutOfMemoryError
Exception in thread "main"
Merci d'avance
----------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
----------------------------------------------------------------------
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 6 juil. 2004 à 11:51
arf,
malheureusement pour toi tu depasse la memoire de la machine virtuelle java...
certainement parce que tu as cree beaucoup trop d'objet,
essaiie deja de specifie la memoire dispo genre
java -Xms128m -Xmx512m si tu as 512Mo de ram
tu peut editer ca ds jbuilder dans project-properties-run-edit-VM parameters
et puis sinon,
est-ce que tu cree tout les noeuds de ton arbre des le depart?
si oui, c'est pas bon...
il vaut mieux les creer a la volee... qd tu cliques sur un noeud
-------------------
>:) dams >:)
-------------------
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 6 juil. 2004 à 11:56
alors il complile bien le programme me disant qu'il n'a pas d'erreurs mais c ensuite que ça me fait ça
et oui je crée tous les noeuds au départ
---------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
---------------------------------------------------------------------
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 6 juil. 2004 à 12:00
si tu crees tous les noeuds au depart, ne cherche pas alors...
mets un mouseListener sur ton arbre, et rajoute les noeuds a la volee...
-------------------
>:) dams >:)
-------------------
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 6 juil. 2004 à 12:11
merci pour le conseil mais pourrais tu m'expliquer comment fonctionnne mouseListenre et ou je dois le rajouter dans mon code?
je te remercie d'avance
mais g pas trouvé ce que tu m'as dit de spécifier plus haut
---------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
---------------------------------------------------------------------
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 6 juil. 2004 à 13:26
Menu project
Project Properties
dans l'arbre a gauche, noeud run,
ensuite bouton edit
et la ds la nouvelle frame, arbre selectionne run
a gauche tu auras les parametres de VM utlisise
tu mets pour le textfield parameters VM
-Xms128m -Xmx512m directement
sinon, pour le mosue listener:
tu fais un tree.addMouseLsitener(new TreeMouseListener(tree));
avec
public class TreeMouseListener
extends MouseAdapter {
private JTree tree;
public TreeMouseListener(JTree tree) {
this.tree = tree;
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {
click(e);
}
private void click(MouseEvent e) {
FileTreeNode node_actif = (FileTreeNode) tree.
getLastSelectedPathComponent();
if (node_actif == null) {
return;
}
else if (e.getButton() == MouseEvent.BUTTON1){ //click d'activation gauche
if (node_actif.getType() == DIRECTORY){
if (node_actif.getChildCount() == 0) {
getSubDirs(node_actif);
}
expand((FileTreeNode)node_actif);
}
else if (node_actif.getType() != FILE){
}
}
}
}
si tu vois pas, je peux te filer tout le code de l'explorateur d'image que j'avais fais...
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 6 juil. 2004 à 14:24
:big) Neodante :big)
Sinon utilise les paramètres de la machine virtuelle ... les paramètres commencant par -x.... y en a un pour changer la mémoire de la machine virtuelle ... je ne me souviens jamais du nom exact ... grrr!
@+
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 6 juil. 2004 à 14:48
Bon j'ai changé les parametres de la machine virtuelle comme dis avant et maintenant j'ai une série d'erreurs que je ne comprends pas.
Ca commence vraiment à me ....
Voici les erreurs et dis moi ce que vous en pensez :
je ne mets qu'une partie parce qu'il y a trop de lignes !!
java.lang.ClassCastException
at projetinterface.RenduComposant.getTreeCellRendererComponent(Exploration2.java:127)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2751)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getXOrigin(VariableHeightLayoutCache.java:1125)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getNodeBounds(VariableHeightLayoutCache.java:1112)
at javax.swing.tree.VariableHeightLayoutCache.getBounds(VariableHeightLayoutCache.java:202)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1130)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:557)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4802)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4748).....
j'ai vraiment besoin d'aide ....
-------------------------------------------------
le pouvoir appartient à ceux qui détiennent l'information, culture et connaissance pour élargir ton champ vision ....
--------------------------------------------------
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 6 juil. 2004 à 15:46
Merci beaucoup pour votre aide je suis arrivé à faire tourner mon application mais je dois l'optimiser car il ne marche qu'avec un ordi avec 512 de RAM.
au fait je n'ai pas compris comment fonctionnait mouseListener , merci d'avance pour vos réponses
lorenzo..
-------------------------------------------------
le pouvoir appartient à ceux qui détiennent l'information, culture et connaissance pour élargir ton champ vision ....
--------------------------------------------------
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 6 juil. 2004 à 15:59
essaie de comprendre comment creer tes noeuds a la voleee, ca reglera vraiment tes soucis de memoire...
et essaie de comprendre le mouseListener...
jer n'ai pas tout mis, mais tu dois pouvoir t'en sortir
-------------------
>:) dams >:)
-------------------
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 6 juil. 2004 à 16:36
ok merci je vais faire comme ça
-------------------------------------------------
le pouvoir appartient à ceux qui détiennent l'information, culture et connaissance pour élargir ton champ vision ....
--------------------------------------------------