ActionListener reference d'objet
Salut à tous,
J'ai crée une classe pour gérer mes evenement de mon menu.
Dans cette classe, je passe dans le constructeur un objet que je veux ecrire/charger via les options enregistrer/ouvrir de mon menu.
Lors de l'ecriture il m'ecrit bien le fichier.
Au chargement il me charge bien le fichier, je verifi en affichant quelques valeurs de l'objet directement dans la méthode ActionPerformed de ma classe.
Seulement l'objet j'en ai besoin dans ma classe principale (fenetre) et la l'objet ne contient pas les valeurs affichées précedement. Je ne comprend pas.
Code:
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
|
public class MenuEventsListener implements ActionListener {
static int save = 0;
static File fichier=null;
protected calendar.Calendar cal;
public MenuEventsListener(calendar.Calendar c) {
this.cal = c;
}
public void actionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
if (evt.getSource()instanceof JMenuItem) {
String ChoixOption = evt.getActionCommand();
if (ChoixOption.equals("Open...")){
JFileChooser choix = new JFileChooser();
choix.setApproveButtonText("Open");
int retour = choix.showOpenDialog(null);
if(retour == JFileChooser.APPROVE_OPTION) {
// un fichier a été choisi ( sortie par OK)
choix.getSelectedFile().getName(); // nom du fichier choisi
choix.getSelectedFile().getAbsolutePath();// chemin absolu du fichier choisi
File f = new File(choix.getSelectedFile().getAbsolutePath());
try {
this.cal = Calendar.readCalendar(f);
//////////////////////////////////////////////////////////////////////
//verification du chargement : AFFICHAGE OK
Set<Event> events_ = this.cal.getEvents();
Iterator i=events_.iterator();
while(i.hasNext()) {
Event e = (Event)i.next();
System.out.println("TEST : "+e.getCaption());
}
//////////////////////////////////////////////////////////////////////
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else ;
}
} |
Avez vous une idée ?