IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Fermeture d'une fenêtre ou un JTextField


Sujet :

Composants Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Azerbaïdjan

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut Fermeture d'une fenêtre ou un JTextField
    Bonjour,

    J'ai un problème avec mon code, je pense que ça vient soit de ma fenêtre qui est mal fermée soit du JTextField que je n'utilise pas comme il faut.

    Alors je m'explique : J'ai crée un jeu du pendu en Java avec une interface graphique etc. Quand on démarre le jeu, on arrive sur une fenêtre principale, puis, on clique sur Play pour jouer. Après avoir fini la partie (gagner, perdu ou bien simplement fermer la fenêtre), il reste encore la fenêtre principale (logique), si on re-clique à nouveau sur Play, tout fonctionne bien sauf que dès qu'on entre une lettre, cette erreur apparait :
    Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(String.java:658)
    at Game.play(Game.java:40)
    at Game.update(Game.java:71)
    at java.util.Observable.notifyObservers(Observable.java:159)
    at MouseDispatcher.fireUpdate(MouseDispatcher.java:28)
    at Draw.actionPerformed(Draw.java:211)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:702)
    at java.awt.EventQueue$4.run(EventQueue.java:700)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    La ligne 40 de la classe Game contient ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    already=h.alReadyTried(input.charAt(0));
    input étant un String correspondant à la saisie clavier de l'utilisateur (j'utilise charAt(0) pour récupérer la 1ere lettre saisie au cas où il en mette plusieurs.. )

    Donc soit mon problème vient de mon JTextField, soit étant donné que la 1ere fois tout se passe bien, c'est ma fenêtre qui est mal fermée. Pour fermer cette dernière j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pan.removeAll();
    pan.setEnabled(false);
    this.removeAll();
    this.dispose();
    this étant ma fenêtre et pan une classe qui hérite de JPanel. Je ne vois pas quoi faire de plus ?

    Comme mon projet contient pas mal de classes, je l'ai zippé et mis en pièce jointe.

    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evènement sur le body lors de la fermeture d'une fenêtre
    Par Yaz dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/09/2005, 17h54
  2. Exécuter une action à la fermeture d'une fenêtre
    Par wwave dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 28/07/2005, 15h15
  3. Fermeture d'une fenêtre .dos
    Par VirginieGE dans le forum Windows
    Réponses: 2
    Dernier message: 03/06/2005, 13h56
  4. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46
  5. Arrêter un ttmt en cours, lors de la fermeture d'une fenêtre
    Par teska dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2004, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo