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 :

actionPerformed a contenu variable


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut actionPerformed a contenu variable
    Bonsoir tlm ^^

    Voila pour la faire simple:
    -j'ai un action Listener sur un bouton add
    -chaque fois que je clique sur le bouton, je recupére le contenu d'un fichier dans un arraylist
    -j'y ajoute quelque chose puis je le remet dans le fichier
    -Le fichier posséde un nom dynamique car il depend d'un objet deja sauvegarder possédant des champs rempli par l'utilisateur
    -Seul moyen de recupérer ce nom c'est de passer l'objet en param pour faire un getNom(); sauf que si je met l'objet en param de l'actionPerformed, il me dit que actionPerformed n'existe pas pour actionPerformed(Actionevent e, Object obj)

    Qqun aurait t'il une idée pour me permettre de recupéré le nom du fichier et le passer dans actionperformed pour recupéré ce dont j'ai besoin?

    Merci d'avance pour vos réponses.

    Cordialement

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 76
    Par défaut
    ben tu déclares la variable String nom en champ de classe, quand tu la récupères tu l'initialises par un this.nom=truc, et dans ton actionPerformed tu la récupère par un this.nom

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    J'ai essayer de faire ca cependant je suis obliger de passer l'objet en entier car dans mon actionPerformed, il est passer aussi a d'autre methode d'autre classe. J'ai essayer de mettre un Object myObj; et quand je recupere l'obj je fait this.myObj = obj; seulement apres quand j'utilise this.myObj bah il me fait Null Pointer Exception... soit this.myObj.getNom(); est null.. or c'est pas le cas... et c'est aps le cas parceque quand j'utilise le meme objet sur d'autre fenetre ca fonctionne le nom s'affiche bien...

    voila le code si jamais

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
     
    package fenetres;
     
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    import collection.CollecList;
    import collection.CollecPer;
    import contact.ListePerso;
    import contact.Perso;
     
    public class FormPer extends JFrame implements ActionListener {
            FlowLayout calque;
    	JPanel container;
    	JButton add,stop;
    	JLabel titre,civ,nom,pre,numrue,rue,cp,ville,mail,tel,port,chper1,chper2,chper3,chper4,chper5;
    	JTextField civc,nomc,prec,numruec,ruec,cpc,villec,mailc,telc,chper1c,chper2c,chper3c,chper4c,chper5c;
    	CollecPer collec;
    	CollecList collist;
    	ListePerso listelocal ;
    	Perso perso;
    	int i;
     
    	public FormPer(ListePerso liste) {
    		super();
    		init(liste);
    		this.listelocal = liste;
    	}
     
    	public ListePerso getListelocal() {
    		return listelocal;
    	}
     
    	public void setListelocal(ListePerso listelocal) {
    		this.listelocal = listelocal;
    	}
     
    	private void init(ListePerso liste) {
     
    		this.setTitle("Ajouter un contact");
    		this.setSize(new Dimension(250,500));
    		this.setResizable(false);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setContentPane(getContainer(liste));
     
    	}
     
    	private JPanel getContainer(ListePerso liste){
     
    		calque = new FlowLayout();
    		calque.setAlignment(FlowLayout.CENTER);
     
    		container = new JPanel();
    		container.setLayout(calque);
     
    		titre = new JLabel("Ajout d'un contact perso");
    		titre.setPreferredSize(new Dimension(200,20));
    		container.add(titre);
     
    		civ = new JLabel("Civilité");
    		civ.setPreferredSize(new Dimension(100,20));
    		civc = new JTextField();
    		civc.setPreferredSize(new Dimension(100,20));
    		container.add(civ);
    		container.add(civc);
     
    		nom = new JLabel("Nom :");
    		nom.setPreferredSize(new Dimension(100,20));
    		nomc = new JTextField();
    		nomc.setPreferredSize(new Dimension(100,20));
    		container.add(nom);
    		container.add(nomc);
     
    		pre  = new JLabel("Prenom :");
    		pre.setPreferredSize(new Dimension(100,20));
    		prec  = new JTextField();
    		prec.setPreferredSize(new Dimension(100,20));
    		container.add(pre);
    		container.add(prec);
     
    		numrue = new JLabel("N° de rue :");
    		numrue.setPreferredSize(new Dimension(100,20));
    		numruec = new JTextField();
    		numruec.setPreferredSize(new Dimension(100,20));
    		container.add(numrue);
    		container.add(numruec);
     
    		rue  = new JLabel("Rue :");
    		rue.setPreferredSize(new Dimension(100,20));
    		ruec  = new JTextField();
    		ruec.setPreferredSize(new Dimension(100,20));
    		container.add(rue);
    		container.add(ruec);
     
    		cp  = new JLabel("Code postal :");
    		cp.setPreferredSize(new Dimension(100,20));
    		cpc  = new JTextField();
    		cpc.setPreferredSize(new Dimension(100,20));
    		container.add(cp);
    		container.add(cpc);
     
    		ville = new JLabel("Ville :");
    		ville.setPreferredSize(new Dimension(100,20));
    		villec = new JTextField();
    		villec.setPreferredSize(new Dimension(100,20));
    		container.add(ville);
    		container.add(villec);
     
    		mail = new JLabel("Mail :");
    		mail.setPreferredSize(new Dimension(100,20));
    		mailc = new JTextField();
    		mailc.setPreferredSize(new Dimension(100,20));
    		container.add(mail);
    		container.add(mailc);
     
    		tel = new JLabel("Fixe :");
    		tel.setPreferredSize(new Dimension(100,20));
    		telc = new JTextField();
    		telc.setPreferredSize(new Dimension(100,20));
    		container.add(tel);
    		container.add(telc);
     
    		chper1 = new JLabel(liste.getChper1()+" :");
    		chper1.setPreferredSize(new Dimension(100,20));
    		chper1c = new JTextField();
    		chper1c.setPreferredSize(new Dimension(100,20));
    		container.add(chper1);
    		container.add(chper1c);
     
    		chper2 = new JLabel(liste.getChper2()+" :");
    		chper2.setPreferredSize(new Dimension(100,20));
    		chper2c = new JTextField();
    		chper2c.setPreferredSize(new Dimension(100,20));
    		container.add(chper2);
    		container.add(chper2c);
     
    		chper3 = new JLabel(liste.getChper3()+" :");
    		chper3.setPreferredSize(new Dimension(100,20));
    		chper3c = new JTextField();
    		chper3c.setPreferredSize(new Dimension(100,20));
    		container.add(chper3);
    		container.add(chper3c);
     
    		chper4 = new JLabel(liste.getChper4()+" :");
    		chper4.setPreferredSize(new Dimension(100,20));
    		chper4c = new JTextField();
    		chper4c.setPreferredSize(new Dimension(100,20));
    		container.add(chper4);
    		container.add(chper4c);
     
    		chper5 = new JLabel(liste.getChper5()+" :");
    		chper5.setPreferredSize(new Dimension(100,20));
    		chper5c = new JTextField();
    		chper5c.setPreferredSize(new Dimension(100,20));
    		container.add(chper5);
    		container.add(chper5c);
     
    		add = new JButton("Ajouter");
    		add.addActionListener(this);
    		stop = new JButton("Annuler");
    		stop.addActionListener(this);	
     
    		container.add(add);
    		container.add(stop);
     
    		return container;
     
    	}
     
    	public void actionPerformed(ActionEvent e){
     
    		try
    			{
    			FileInputStream fileread = new FileInputStream(this.listelocal.getNom()+"save.ser");
    			}
    		catch (FileNotFoundException fnfe)
    			{
    			collec.saveser(this.listelocal);			
    			}	
     
    		if (e.getSource() == add) 
    			{
    			collec = collec.recup(this.listelocal);
    			perso =  new Perso(civc.getText(),nomc.getText(),prec.getText(),Integer.parseInt(numruec.getText()),ruec.getText(),Integer.parseInt(cpc.getText()),villec.getText(),mailc.getText(),telc.getText(),chper1c.getText(),chper2c.getText(),chper3c.getText(),chper4c.getText(),chper5c.getText());
    			collec.add(perso);
    			collec.saveser(this.listelocal);
    			}
     
    		if (e.getSource() == stop)
    			{			
    			}
     
    	}
    }

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 76
    Par défaut
    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
    class plouf implements ActionListener {
     
        Plouf {
     
         this.contenu=new ArrayList();
            }
     
        public void actionPerformed (ActionEvent ev) {
     
         // récupération du champ nom donné par l'utilisateur
        this.nom=reponse;
     
        // ouverture du fichier nom
     
         // récupération du contenu dans ArrayList this.contenu
     
         // ajout de quelque chose
     
        // réecriture du fichier nom et fermeture
     
            }
     
        private String nom;
        private ArrayList contenu;
    }

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    Oui je penses que j'avais compris ca sauf que je ne crée pas l'objet dans cette partie, il est recupéré avant et il est passé en parametre , donc si je fait new faut que je fasse la saisie de cet objet dans la fenetre et c'est pas possible car c'est un objet qui va servir de groupe d'objet pour d'autre objet je ne peux donc pas le saisir a chaque fois que je vais saisir un objet du groupe ca ferai un groupe par objet ca serai pas franchement voulu ^^

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 76
    Par défaut
    Citation Envoyé par _PiPoUnE_
    J'ai essayer de faire ca cependant je suis obliger de passer l'objet en entier car dans mon actionPerformed, il est passer aussi a d'autre methode d'autre classe. J'ai essayer de mettre un Object myObj; et quand je recupere l'obj je fait this.myObj = obj; seulement apres quand j'utilise this.myObj bah il me fait Null Pointer Exception... soit this.myObj.getNom(); est null.. or c'est pas le cas... et c'est aps le cas parceque quand j'utilise le meme objet sur d'autre fenetre ca fonctionne le nom s'affiche bien...
    en fait par this.myOBJ=obj , c'est une transmission de référence, pas de valeur, donc comme un pointeur en C si tu préfères ... tu dis "l'adressage mémoire de l'objet myOBJ est le même que celui de l'objet obj"

    donc quand tu modifies l'un, tu modifies l'autre.

    enfin bon bref, quel est le souci avec ton code ? essaie peut-être plutôt avec String myObj=obj, non ?

    tu veux pas nous mettre tout le code avec ton souci ? parce que c'est un peu dur de voir où tu veux en venir ?

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    J'ai poster mon code une minute avant ta reponse avec ton exemple ^^

Discussions similaires

  1. [JSP] Frame a contenu variable
    Par christopheJ dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 25/03/2010, 12h18
  2. Réponses: 7
    Dernier message: 04/10/2006, 15h45
  3. [VBA-W]Insérer contenu variable dans page word
    Par jcaspar dans le forum VBA Word
    Réponses: 1
    Dernier message: 24/03/2006, 01h07
  4. [VB.Net]Comment assigner contenu variable> nom variable ?
    Par jazz matazz dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/02/2006, 17h28
  5. <DIV> : Menu fixe mais contenu variable
    Par Hell dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 03/12/2005, 11h19

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