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

avec Java Discussion :

Recupérer l'argument d'un constructeur


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Recupérer l'argument d'un constructeur
    Bonjour a tous, j'ai creer la classe suivante :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    package introPoo;
     
    import javax.swing.*;
    import java.awt.GridLayout;
     
     
    public class FicheCompte {
     
    	JPanel p1;
    	JFrame cadre;
    	JLabel l1;
    	JLabel l2;
    	JLabel l3;
    	JButton b1;
    	JButton b2;
    	JButton b3;
     
     
     
     
     
    	FicheCompte(Compte cmpt){
     
    		String numCmpt = ""+cmpt.getNumCompte();
    		String soldeCmpt = ""+cmpt.getSolde();
    		String nomCmpt = ""+cmpt.getNOM();
     
    		GridLayout dispo_Grid = new GridLayout(3,2);
    		p1 = new JPanel();
    		p1.setLayout(dispo_Grid);
    		l1 = new JLabel("Compte n° : " + numCmpt);
    		l2 = new JLabel("NOM : " + nomCmpt);
    		l3 = new JLabel("Solde : " + soldeCmpt);
    		b1 = new JButton("Débiter");
    		b2 = new JButton("Créditer");
    		b3 = new JButton("Effectuer un virement");
     
    		p1.add(l1);
    		p1.add(b1);
    		p1.add(l2);
    		p1.add(b2);
    		p1.add(l3);
    		p1.add(b3);
     
    		cadre = new JFrame(numCmpt);
    		cadre.getContentPane().add(p1);
    		cadre.setSize(400,200);
     
    		cadre.setVisible(true);
    		MoteurBancaire mb = new MoteurBancaire();
    		b1.addActionListener(mb);
     
    	}
     
    }
    Je voudrais savoir si quelqu'un sait comment récupérer a partir d'une autre classe l'argument qui a été passer au consructeur. Je m'explique : dans ma classe FicheCompte il y a un bouton "débiter" et j'aimerai pouvoir lorsque que je clique sur ce bouton changer le solde du compte associer a la fiche. J'ai bien évidemment créer la classe compte auparavant avec des getters/setters pour le solde.



    Je vous remercie d'avance

    Ortholle

  2. #2
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Bonjour,

    Si j'ai bien suivi, c'est depuis ton listener MoteurBancaire que ce changement de solde devrait s'effectuer. D'après le code que tu donne tu as donc besoin du compte passé en argument au constructeur de FicheCompte.
    Il suffirait donc de transmettre ce compte à ton listener.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    FicheCompte(Compte compt) {
     
    	...
     
    	MoteurBancaire mb = new MoteurBancaire(cmpt);
     
    	...
     
    }
    Bien évidemment tu doit à la fois créer un argument de type Compte dans ton listener, et le référencer depuis son constructeur. Ainsi lorsque que l'évènement du clic sur le bouton ce déclenchera, tu disposera du compte que tu pourra modifier à loisirs.

    En alternative, tu peux utiliser une classe anonyme pour le listener dans le constructeur de FicheCompte (et déclarer cmpt final pour pouvoir t'en servir).

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Super idée merci beaucoup, j'ai donc créer la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void actionPerformed (ActionEvent evenement, Compte cmpt){
     
    		JButton boutonCliqué = (JButton)evenement.getSource();
    		if(boutonCliqué.getText().equals("Débiter"))
    		{
     
    			String debit = JOptionPane.showInputDialog("Veuillez entrer la somme a débiter"); 
    			int debitInt = Integer.parseInt(debit);
    			cmpt.setSolde(cmpt.getSolde()-debitInt);
     
    		}
     
    	}
    le seul problême que j'ai maintenant c'est que je n'arrive pas a déclaré mon ActionListener avec comme argument un compte. voila la ligne que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MoteurBancaire mb = new MoteurBancaire(cmpt);

    je ne sais pas trop quelle erreur je commet



    Ortholle

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Je viens de me rendre compte de l'énormité de ce que j'ai dit précédemment !! j'ai créer un nouveau constructeur qui prend en compte un Compte et tout marche parfaitement.

    merci beaucoup

    Ortholle

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

Discussions similaires

  1. [Débutant] Constructeur : tableau en argument
    Par nanath02 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 16/03/2007, 10h10
  2. [C#] Passer argument à un constructeur d'une forme
    Par Oufti dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/05/2006, 17h43
  3. Réponses: 3
    Dernier message: 23/12/2005, 14h48
  4. Réponses: 1
    Dernier message: 06/11/2005, 17h55
  5. Recupérer un argument et l'utiliser pour changer le bgcolor
    Par VincenzoR dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/01/2005, 20h23

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