Exceptions et Thread Help please!!!

cs_lorenzo972 Messages postés 28 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 24 août 2004 - 6 juil. 2004 à 11:27
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 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 ....
----------------------------------------------------------------------

13 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 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 >:)
-------------------
0
Frouf85 Messages postés 106 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 7 octobre 2004
6 juil. 2004 à 11:52
Quans apparait cette exception? lors du lancement, lors de la compilation?

Frouf
0
cs_lorenzo972 Messages postés 28 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 24 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 ....
---------------------------------------------------------------------
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 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 >:)
-------------------
0

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

Posez votre question
cs_lorenzo972 Messages postés 28 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 24 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 ....
---------------------------------------------------------------------
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 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...

-------------------
>:) dams >:)
-------------------
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
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!
@+

[Responsable www.neogamedev.com]
0
cs_lorenzo972 Messages postés 28 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 24 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 ....
--------------------------------------------------
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
6 juil. 2004 à 15:33
C'est un caast mal fait
regarde ta ligne
projetinterface.RenduComposant.getTreeCellRendererComponent(Exploration2.java:127)

NEODANTE:
Eh bah alors, on a la memoire qui flanche???
regarde un peu plus haut, c'etait marque:
java -Xms128m -Xmx512m par exemple, bornes min et max

-------------------
>:) dams >:)
-------------------
0
cs_lorenzo972 Messages postés 28 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 24 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 ....
--------------------------------------------------
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 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 >:)
-------------------
0
cs_lorenzo972 Messages postés 28 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 24 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 ....
--------------------------------------------------
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
6 juil. 2004 à 18:33
:big) Neodante :big)

Ah oui j'avais pas vu ... faut vraiment que j'arrête le J2EE ... je ne connais plus les paramètres de notre bonne vieille machine virtuelle !!! lol
@+

[Responsable www.neogamedev.com]
0
Rejoignez-nous