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

AWT/Swing Java Discussion :

Je me mélange dans les actions des boutons


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut Je me mélange dans les actions des boutons
    Bonjour à tous,

    J'ai une calculatrice dont les actions sur les boutons avec les chiffres sont régit par la classe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private class InsertAction implements ActionListener {
    		public void actionPerformed(ActionEvent event) {
    			String input = event.getActionCommand();
    			if (start) {
    				saisie.setText("");
    				start = false;
    			}
    			saisie.setText(saisie.getText() + input);
    		}
    	}
    Maintenant j'aimerai demander à l'utilisateur de rentrer un chiffre dans un Jlabel "saisie" puis de cliquer sur un Jbouton pour valider sa saisie.

    voila ce que j'ai tappé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    			display.setText("Veuillez indiquer le degré de votre polynome :");
    			saisie.setText("0");			
     
    			String degre = saisie.getText();
    			int DEGRE = Integer.parseInt(degre);
    Le problème c'est qu'en faisant comme ça, le programme ne me laisse pas le temps de cliquer sur les chiffres puisqu'il prend tout de suite en compte le "0" qui se trouve dans le JLabel "saisie".

    Je suppose qu'il faudrait appeler la class InsertAction, non?
    Mais quand je fais ça, ça ne marche pas car il ne me prend pas la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InsertAction.actionPerformed(ActionEvent event);
    Avez-vous une solution s'il vous plait?
    Merci à tous
    Aud-

  2. #2
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    tu dois mettre le code que tu veux executer DANS ton actionPerformed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String degre = saisie.getText();
    int DEGRE = Integer.parseInt(degre);
    sinon les listeners servent à rien

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut
    ok j'ai donc mit le code dans ValiderAction.

    Mais ça veut dire qu'il est impossible de créer une boucle for (qui demande par exemple d'entrer 5 valeurs les unes derrières les autres en les validant à chaque fois) qui va faire appel à InsertAction puis à ValiderAction?

  4. #4
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    peux tu donner un cas concret de ce que tu veux idéalement ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut
    J'ai une calculatrice de polynomes.
    Voici ce que j'avais fait AVANT:

    1.Avec une JOptionPane je demandais quel est l'ordre du polynome et je créais un tableau de cette longueur.

    2. Ensuite grâce à une boucle FOR qui lançait des JOptionPane, je pouvais demander à l'utilisateur de rentrer les coefficients un par un. Ceux-ci étaient placés dans le tableau créé précédement.
    Sauf que l'on ne peut pas appeler ça une calculatrice puisque l'on rentre les nombres au clavier au lieu de cliquer sur les boutons qui ont les chiffres...

    De ce fait, maintenant, je souhaiterai toujours réaliser cette démarche mais non plus avec des JOptionPane. C'est pourquoi, je dois :
    1. afficher dans le JLabel "display" un texte du style "ordre du polynome".
    2. cliquer sur les chiffres (InsertAction) qui vont s'afficher dans le JLabel "saisie".
    3. cliquer sur le JBouton valider pour récupérer ce qu'il y a dans "saisie", le convertir en entier puis créé un tableau de la taille de cet entier.

    => ça c'est bon mais dès que je souhaite faire la boucle FOR sans les JOptionPane, c'est la galère

    J'ai pourtant avec cette boucle FOR toujours la même séquence que précédemment, à savoir :

    1. afficher dans le JLabel "display" un texte du style "coef de x^0".
    2. cliquer sur les chiffres (InsertAction) qui vont s'afficher dans le JLabel "saisie".
    3. cliquer sur le JBouton valider pour récupérer ce qu'il y a dans "saisie", le convertir en entier puis l'insérer dans le tableau.

    J'espère que l'on pourra m'aider...
    Merci par avance
    Aud-

  6. #6
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    J'ai un peu de mal à comprendre, mais je subodore que tu as plusieurs champs de saisie, et que tu mélanges les pédales dans leur validation, voir pour savoir qui contient quoi.

    J'ai l'impression que tu n'es pas assez attentif à la notion de focus. Cette notion te permet de déterminer dans quel champ vont les informations tapées ou même cliquées.

    Est-ce que tu la connais / la pratique / etc ?

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

Discussions similaires

  1. détecter les action des boutons physiQUE ET NON TACTILE
    Par souissi_haythem dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 13/05/2011, 15h34
  2. Remplacer les liens dans Formview par des boutons
    Par lemagicien dans le forum ASP.NET
    Réponses: 1
    Dernier message: 29/08/2007, 22h33
  3. Réponses: 8
    Dernier message: 04/04/2007, 11h16
  4. Pouvoir gérer les actions des boutons dans une classe
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 08/07/2005, 12h08
  5. [FLASH MX] Action des boutons dans un menu déroulant
    Par zab_paris dans le forum Flash
    Réponses: 1
    Dernier message: 05/07/2005, 18h14

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