pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009
-
15 mars 2007 à 16:16
pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009
-
17 mars 2007 à 16:29
Bonjour,
j'ai un programme qui m'affiche une erreur lorsque j'appuie plus d'une fois sur un boutton
l'erreur est la suivante:
"Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space"
je voudrais savoir quel est le problème et comment faire pour le résoudre?
Merci pour votre aide.
A voir également:
Exception in thread "awt-eventqueue-0" java.lang.outofmemoryerror: java heap space
pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009 15 mars 2007 à 17:14
je na sais pas à quelle ligne se situe l'erreur. Cette erreur ne me renvoie à aucune ligne dans mon code. lorsque j'appuie plus d'une fois sur le boutton, uniquement l'erreur suivante s'affiche: "Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space".
Toute aide me sera très utile.
Vous n’avez pas trouvé la réponse que vous recherchez ?
pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009 15 mars 2007 à 17:48
en fait, ce boutton affiche une jInternalframe. lorsque je clique sur le bouton la première fois, aucune erreur ne s'affiche. Au deuxieme clic, l'erreur s'affiche, ensuite meme si je clique sur un boutton qui ne posais aucun problème auparavant la meme erreur s'affiche pour tous les boutons de l'application.
le code:
void jButton1_actionPerformed(ActionEvent e) {
Documentation frame = new Documentation(col1);//col1: Collection de String
frame.setBounds(0, 0, 500, 320);
desktopPane.add(frame, new Integer(1));
frame.show();
}
/*******************************/
public class Documentation extends JInternalFrame {
private JPanel jPanel1 = new JPanel();
private JPanel jPanel2 = new JPanel();
private JPanel jPanel3 = new JPanel();
private JPanel jPanel4 = new JPanel();
private JSplitPane jSplitPane1 = new JSplitPane();
private JPanel jPanel5 = new JPanel();
private JPanel jPanel6 = new JPanel();
private JList jList1 = new JList();
private JScrollPane jScrollPane1 = new JScrollPane();
private JLabel jLabel1 = new JLabel();
private JdbTextPane jdbTextPane1 = new JdbTextPane();
private JdbEditorPane jdbEditorPane1 = new JdbEditorPane();
private JLabel jLabel2 = new JLabel();
private JScrollPane jScrollPane2 = new JScrollPane();
private StyleListListener liste = new StyleListListener();
Object[] Y = null;
String scenario = "C:\\Program Files\\Protege_3.1 \\examples\\Diagnostic\\Diagnostic.pprj";
Collection errors = new ArrayList();
Project project = new Project(scenario, errors);
KnowledgeBase kb = project.getKnowledgeBase();
String slotName = "nom_technique";
Slot slot = kb.getSlot(slotName);
boolean bool = false;
Object selected = null;
boolean boule;
int j=0;
String d = null;
String s;
String t;
int size;
while ((bool==false)&&(j<size)){
d = Y[j].toString();
j++;
def = kb.getInstance(d);
s = def.getBrowserText().toString();
if (selected.equals(s)) {
bool = true;
}
}
jdbTextPane1.setText(def.getOwnSlotValue(slot).toString());
jdbEditorPane1.setContentType("text/html");
try
{
jdbEditorPane1.setEditable(false);
jdbEditorPane1.setPage("[file:///C:/Documents File:///C:/Documents] and Settings/ms/Mes documents/Selma/5ème année/diagnostic turbine à gaz/diagnostic des turbines à gaz/Gas turbine root cause failure diagnosis 1.htm");
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 15 mars 2007 à 18:12
Cela vient certainement d'une fuite mémoire : lorsque tu ferme ta JInternalFrame, tu ne doit pas fermer les fichiers et tes contrôles, et du coup, si tu réessaye de réouvrir ta feuille, tu n'as plus assez de mémoire pour tout stocker.
Est-ce que tu utilise des collections d'objets ou des données qui prennent de la place dans ton JInternalFrame ?
Essaye de faire un profilling de ton application voir quels sont les objets qui ne sont pas détruits lors de la fermeture de ta feuille.
pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009 15 mars 2007 à 18:32
Ok, merci j'ai compris le problème. J'utilise donc des collections d'objets dans la JInternalFrame. je voudrais savoir comment faire pour fermer les fichiers et les controles et comment détruire les objets.
Merci d'avance.