Instance de classe ou pas ????

Résolu
Enderounet Messages postés 29 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 30 août 2005 - 4 août 2005 à 11:38
Enderounet Messages postés 29 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 30 août 2005 - 4 août 2005 à 15:33
Je commence a m'y perdre entre classes et instances.
Voici mon main de ma classe principale:

public static void main(String args[]) {
Données stwa = new Données();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new IHM_Principale().setVisible(true);
}
});
}

Données est une autre classe avec différents attributs.
Or quand j'essaie d'utiliser mon instance de Données, stwa, dans une méthode de ma classe principale il me dit qu'il trouve pas cette variable; ex:

private void Id_SuivantActionPerformed(java.awt.event.ActionEvent evt) {
stwa.numéro = new String(this.Numéro.getText());
stwa.description = new String(this.Description.getText());
this.Id_SNAC2.setVisible(false);
this.getContentPane().add(Activités_Début, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 40, 400, 340));
this.Activités_Début.setVisible(true);
}

quand j'utilise juste Données.numéro par exemple, la il veut bien, mais si je me trompe pas, j'agis pas sur un objet dans ce cas ....

SOS
Merci

4 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
4 août 2005 à 15:13
en gros ;o) pour repondre au titre swta est une référence sur une instance de class Donnees cette instance est obtenu à l aide de l instruction "new Donnees()"

et en effet le plus simple pour l utilisé serai d en passer la référence en parametre (new IHM_Principale( stwa ).setVisible(true); ) et de le conserver au nivo de la class qui en a besoin ou mieu encor ;o) puisque cette class semble etre un compool l utilisé sous forme de singleton avec une methode static ds donnee pour en obtenir la reference sur la seul instance possible (Donnees.getInstance();)

enfin voila .. ;o)

GL ++

GodConan
3
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
4 août 2005 à 13:25
Il faut que ta variable soit définie en dehors de la fonction.

Si tu utilises Données.numéro, cela signifie que numéro est statique, docn tous les objets Données ont accès à la même valeur de la variable.
0
viking85 Messages postés 59 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 28 mars 2007 14
4 août 2005 à 14:30
Salut

tel que c'est codé, stwa, l'instance de ta classe Données, n'est utilisable que dans ton main.

donc si tu veux l'utiliser dans une autre méthode de ta classe principale, il faut soit que tu passe en paramètre stwa, soit que tu déclare stwa en dehors du main.

voila.
A+,
Chris.
0
Enderounet Messages postés 29 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 30 août 2005
4 août 2005 à 15:33
J y vois un peu plus clair merci.
j'ai passé en fait une variable de type Données comme attribut et en effet il ne me jette plus :)
0
Rejoignez-nous