Problème de stockage de données temporairement

mageti Messages postés 56 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 4 janvier 2010 - 1 sept. 2004 à 13:35
mageti Messages postés 56 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 4 janvier 2010 - 3 sept. 2004 à 20:59
Salut à tous,
J'ai besoin de faire passer des renseignements d'une boîte de dialogue vers la fenêtre principale. Etant débutant, j'ai fait comme le disait le livre que j'ai, mais ça n'a pas l'air de fonctionner, il disit de stocker les informations dans une classe indépendante nommée Infos.
Pouvez-vous m'aider ? Merci d'avance

//Je place ça dans la fenêtre principale:

paraMe par = new paraMe(this);
par.setSize(500, 155);
par.setResizable(false);
par.show();
Infos infos = new Infos();
par.lanceDial(infos);

//C'est ça qui est appelé:

class paraMe extends JDialog implements ActionListener
{public paraMe(JFrame parent)
{
super (parent,"Paramètres",true);
Container contenu=getContentPane();
JButton okBouton = new JButton("Ok");
contenu.add(okBouton);
contenu.setLayout(new FlowLayout());
okBouton.addActionListener(this);
JButton cancelBouton = new JButton("Annuler");
contenu.add(cancelBouton);
cancelBouton.addActionListener(this);

JLabel dim = new JLabel("Tous les combien de secondes voulez-vous prendre des photos ?");
contenu.add(dim);
JTextField txtSec = new JTextField(5);
contenu.add(txtSec);

JCheckBox rafraich = new JCheckBox("Voulez-vous sauvegarder l'image à chaque photos prises ? Oui", false);
contenu.add(rafraich);

JCheckBox signRoue = new JCheckBox("Voulez-vous envoyer un signal aux roues à chaque analyse d'image ? Oui", false);
contenu.add(signRoue);
}
public void lanceDial(Infos infos)
{/*placer infos dans contrôles*/
txtSec.setText(""+infos.texSec);
rafraich.setSelected(infos.raf);
/*Lance le dialogue*/
ok=false;
setVisible(true);
/*si ok on récupère les informations du dialogue*/
if(ok) {infos.texSec=Integer.parseInt(txtSec.getText());
infos.raf=rafraich.isSelected();
}
}

public void actionPerformed(ActionEvent e)
{
String evt = e.getActionCommand();
if (evt.equals("Ok"))
{ok=true; setVisible(false);}
if (evt.equals("Annuler"))
{setVisible(false);};}

private JButton okBouton;
private JButton cancelBouton;
private boolean ok =false;
public JTextField txtSec;
private JCheckBox rafraich;
}

class Infos
{ public boolean raf;
public int texSec;
}

5 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
1 sept. 2004 à 14:13
il te montrerais pas ton dialogue 2 fois par hasard?
0
mageti Messages postés 56 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 4 janvier 2010
2 sept. 2004 à 20:15
non, pas du tout.
Il ne le montre qu'une fois, mais quand je veux aller chercher dans la class Infos le boolean raf par exemple, celui-ci est toujours à "false", même si dans la fenêtre de dialogue, je coche la case pour qu'il soit à "true".
Mais, s'il existe une autre méthode au lieu de celle-là, je suis preneur !
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
3 sept. 2004 à 08:57
dans le constructeur de ton dialogue, ajoute le Infos

public paraMe(JFrame parent,Infos infos){
..this.info=infos...
}

dans le actionPerformed

public void actionPerformed(ActionEvent e){
String evt = e.getActionCommand();
if (evt.equals("Ok")){
infos.texSec=Integer.parseInt(txtSec.getText());
infos.raf=rafraich.isSelected();
ok=true;
dispose();
}
if (evt.equals("Annuler")){
dispose();
}
}

et vire le lancedial
0
mageti Messages postés 56 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 4 janvier 2010
3 sept. 2004 à 19:41
J'ai fait comme tu me l'a dit, mais eclipse me renvoie une erreur au niveau de
info.texSec=Integer.parseInt(txtSec.getText());
info.raf=rafraich.isSelected();
Il n'arrive pas à l'initialiser. J'ai essayé d'initialiser à divers endroits, mais ça ne va toujours pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mageti Messages postés 56 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 4 janvier 2010
3 sept. 2004 à 20:59
Excuse-moi, j'avais fait une erreur en recopiant.
Par contre j'ai un autre problème au même niveau:
info.texSec=Integer.parseInt(txtSec.getText());
info.raf=rafraich.isSelected();
Eclipse m'y indique un "java.lang.NullPointerException", je cherche, mais je n'est pas encore trouvé.
0
Rejoignez-nous