Recuperer un objet

eldebutant Messages postés 11 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 6 avril 2008 - 7 mars 2008 à 21:51
eldebutant Messages postés 11 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 6 avril 2008 - 8 mars 2008 à 20:02
hey!

je ne sais pas comment faire pour recuperer un objet issu de la meme classe et qui doit etre utiliser par un ActionPerformed

public classe classe1
{
......
requete sql
.....
String ee = re.getString(

"adresse");

}

public

void actionPerformed(ActionEvent e) {

et là j'aimerai pouvoir recuperer mon objet ee

}

quelqu'un pourrait m'aider?

 

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 mars 2008 à 06:52
Salut,

Dans quoi est déclaré ton objet ee ? Dans une fonction ?

Ca dois sûrement être un problème de portée de variable.
______________________________________
DarK Sidious
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
8 mars 2008 à 08:01
Salut:

Comme DarkSidious vient de le dire, ici il y a un problème de portée d'une variable qui est locale dans notre cas.

Pour que la variable [ee] soit visible, il faut la déclarer comme étant attribut de ta classe.

public class AClass {
    // Attributs de la classe
    private String address;

    public void setAddress(String address) {this.address = address;}  
    public String getAddress() {return address;}

    // Une méthode quelque part   
    address = rs.getString("adresse");
}

public class AnActionListenerImpl implements ActionListener {
    private AClass instance;
    public AnActionListenerImpl(AClass instance) {
       this.instance = instance;
    }
    public void actionPerformed(ActionEvent actionEvent) {
       // Récupérer la variable [address]
       String adr = instance.getAddress();
    }
}
0
eldebutant Messages postés 11 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 6 avril 2008
8 mars 2008 à 17:00
oui mais si la declaration de ee se trouve dans le constructeur?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 mars 2008 à 18:13
Salut,

Une variable a une portée de là où elle est déclarée :

class Toto {
    private String titi; // sera visible dans toute la classe

    public Toto() { // constructeur
       String tata; // sera visible que dans le constructeur !
       titi = "titi"; // ok
       tata = "tata"; // ok
       tutu = "tutu"; // erreur !
    }

    public String fonction() {
       String tutu;
        titi = "titi"; // ok
       tata = "tata"; // erreur !
       tutu = "tutu"; //ok
    }
}

Donc si ta variable ee est déclarée DANS le constructeur et non DANS ta classe, elle ne sera pas visible dans les fonctions de ta classe !
______________________________________
DarK Sidious
0

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

Posez votre question
eldebutant Messages postés 11 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 6 avril 2008
8 mars 2008 à 19:28
ah oauis d'accord!
et ça marche quand meme quand le ee,  est issu d'un while ?
0
eldebutant Messages postés 11 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 6 avril 2008
8 mars 2008 à 20:02
peut etre qu'avec mon code, ça vous aidera à mieu repondre à ma dernièere question

import

java.awt.GridLayout;
import

java.awt.event.ActionEvent;
import

java.sql.Connection;
import

java.sql.DriverManager;
import

java.sql.ResultSet;
import

java.sql.Statement;

import

javax.swing.JButton;
import

javax.swing.JFrame;
import

javax.swing.JPanel;

 

public

class Eleve
extends JFrame {

JButton

button =
new JButton();JPanel

pan =
new JPanel();

private String
dateNaiss;

public Eleve(){

String pilote =

"com.mysql.jdbc.Driver";

try {

Class. forName (pilote);

Connection conn = DriverManager.getConnection(

"jdbc:mysql://localhost/eleves",
"root",
"");Statement stmt = conn.createStatement();
String requete "SELECT date_naiss FROM eleves";ResultSet resultat stmt.executeQuery(requete);

while (resultat.next()){

dateNaiss = resultat.getString(
"date_naiss");

button =
new JButton (
"date de naissance le : "+
dateNaiss);

pan.add(
button);setContentPane(

pan);

}

}

catch (Exception e){

System.

out .println(
"echec pilote : "+e);}

}

public
void actionPerformed(ActionEvent e) {

if (e.getSource().equals(
button)){

String pilote =

"com.mysql.jdbc.Driver";

try{

Class.forName(pilote);

Connection conn = DriverManager. getConnection (

"jdbc:mysql://localhost/eleves",
"root",
"");Statement stmt = conn.createStatement();
String rekette "SELECT nom_eleve FROM eleve WHERE date_rdv "+
"""+
dateNaiss+
""";System.

out .println(rekette);ResultSet resultatt = stmt.executeQuery(rekette);

try {

while (resultatt.next()){

String nom = resultatt.getString(

"nom_eleve");System.

out .println(
"nom_eleve" +nom);

}

}

catch (Exception e1){

System.

out.println(
"echec pilote : "+e1);}

}

catch (Exception e1){

System.

out.println(
"echec pilote : "+e1);}

}

}

public
static
void main(String[] args) {Eleve elv =

new Eleve();elv.setSize(200,200);

elv.setVisible(

true);

}

}

merci encore
0
Rejoignez-nous