Récupérer une valeur d'un constructeur dans une métode

Résolu
mikmuk Messages postés 200 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

Je possède un

public Main() { 
[...] 
JTextField nick = new JTextField(20); 
[...]
}


et j'ai besoin de récupérer la valeur entrée par l'utilisateur lors de l'execution du programme, dans une methode.

Voici ce que j'ai fait:

private void connectDB (ActionEvent e) { 
Main getMain = new Main(); 
  getMain.Main();  
}


Le problème est que le Main n'est pas une méthode donc impossible de récupérer la valeur de cette manière.

Auriez-vous des informations ou un lien qui pourrait me documenter à ce sujet.

Merci.

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
C'est très difficile de comprendre ce que tu fais exactement, car on n'a que deux morceaux de codes pas très explicite. Il est à mon avis une très mauvaise idée d'appeler une classe "Main" si elle contient autre chose que la méthode main, de même qu'appeler un objet "get" ou "set" comme ton "getMain" ce qui fait penser aux méthodes d'accès, sans parler de ce "getMain.Main()", tu utilises le constructeur sur un objet comme s'il s'agissait d'une méthode, c'est très bizarre.

Si j'ai bien compris ce que tu veux, tu voudrais récupérer la valeur de "nick" dans ta seconde méthode, je te propose ceci (je garde les même noms pour ne pas te mélanger, mais il faudrait les changer pour être plus compréhensibles) :

private final JTextField nick;

public Main()
{ 
    // ...
    nick = new JTextField(20); 
    // ...
}

public String getNick()
{
    return nick.getText();
}

private void connectDB (ActionEvent e) 
{ 
    Main getMain = new Main();
    String nick getMain.getNick();  
}
0