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

Interfaces Graphiques en Java Discussion :

Action sur JButton en fonction d'exceptions


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2019
    Messages : 5
    Par défaut Action sur JButton en fonction d'exceptions
    Bonjour,

    Je débute sur Java et je bloque à un endroit de mon code. J'ai essayé de farfouiller sur le net mais je n'ai rien trouvé.

    Pour faire simple (ou pas), j'ai un JFrame avec des TextField en mode petit formulaire à remplir. J'ai ajouté pas mal d'exceptions comme des NumberFormatException qui me retournent une fenêtre de dialogue avec un petit message sympa du genre "Oups vous vous êtes trompé".

    Du coup j'ai un bouton "Set" qui me permet d'obtenir les valeurs des TextField et d'afficher les messages "d'"erreurs" s'il y en a. Cependant, après avoir cliqué sur le bouton Set, j'aimerais qu'un bouton "Suivant" soit activé seulement après un remplissage correct du formulaire et donc seulement s'il n'y a pas eu d'exceptions.
    Savez-vous s'il existe une méthode, du genre boolean qui retourne si une exception a été catché ou pas ?

    Je sais pas si je suis très claire dans mes propos désolée

    Merci par avance !

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    A toi de voire comment tu veux gérer ça mais, une fois que tu rentre dans le catch, c'est que l'exception s'est produite.

    Et donc dedans tu peux griser le bouton.

    Et Tu dégrise le bouton a la fin du block try.

    De cette manière si aucune exception n'arrive, ton bouton sera degrisé, et si une exception arrive, il sera grisé (setDisabled).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2019
    Messages : 5
    Par défaut
    Merci beaucoup pour la réponse rapide !

    J'ai testé mais cela ne change rien.
    Je suppose que le problème vient du fait que je n'ai pas un try global et plusieurs catch à la suite mais je n'en suis pas sur vu que c'est la première fois que je gère (plus ou moins) les exceptions.

    Voici la partie du code concernée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    public void actionPerformed(ActionEvent e) {
    		if(e.getSource()==btnSet)
    		{
     
    			try 
    			{
    				width = Double.parseDouble(textField_1.getText());
    				btnPat.setEnabled(true);
    			}
    			catch (NumberFormatException e3)
    			{
    				JOptionPane.showMessageDialog(null, "The value of the width is not correct.");
    				textField_1.setText("");
    				btnPat.setEnabled(false);
    			}
     
     
    			try
    			{
    				height =Double.parseDouble(textField_2.getText());
    				btnPat.setEnabled(true);
    			}
    			catch (NumberFormatException e4)
    			{
    				JOptionPane.showMessageDialog(null, "The value of the height is not correct.");
    				textField_2.setText("");
    				btnPat.setEnabled(false);
    			}
     
     
     
    		}

    Merci !

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Ok, effectivement si tu veux vérifier et afficher une erreur pour chaque champs avec différent try/catch, alors ma solution risque de ne pas toujours fonctionner (Si la premiere valeur est mauvaise, on grise, mais si la deuxieme est ensuite bonne on va degrisé, alors qu'il ne faut pas).

    Un boolean alors sera peut être une solution. Boolean que tu mets avant tout les block try. Si tu passe dans une exception alors tu le mets a faux.

    Et a la fin des check, tu change enable ou non le bouton en fonction du boolean.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2019
    Messages : 5
    Par défaut
    Parfait ça fonctionne nickel avec le booléen! Merci beaucoup

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/11/2014, 13h19
  2. La fonction clone supprime action sur un select
    Par lemirandais dans le forum jQuery
    Réponses: 8
    Dernier message: 25/04/2013, 21h42
  3. Réponses: 2
    Dernier message: 07/05/2012, 19h09
  4. Pb Action sur un jbutton dans un jtable
    Par snay13 dans le forum Composants
    Réponses: 6
    Dernier message: 20/07/2010, 00h32
  5. [JTable] Action sur JButton après mise en attente
    Par 6ix dans le forum Composants
    Réponses: 2
    Dernier message: 28/02/2008, 07h27

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