Liste d'objet DEBUTANT JAVA

Liste d'objet DEBUTANT JAVA - Java - Programmation

Marsh Posté le 05-06-2011 à 13:08:36    

Bonjour a toushttp://forum-images.hardware.fr/icones/smilies/hello.gif
 
Voila je suis débutant en java et en programmation tous cours....
Je cherche a créer un objet et a le placer dans une liste.
 
if (saisie==1){
                Terminal.ecrireStringln("nom de l'image" );
                String i=Terminal.lireString();
                imagelue.ajouterALaFin(new ImageExterneLue(i));
Mon contructeur :
public ImageExterneLue(String nomf) throws IOException,  
           FileNotFoundException{
        this.nom = nomf;
        img = ImageIO.read(new File(nomf));
 this.showImage();
 
Ensuite Je cherche a le retrouver par son nom pour le fermer
 
        public void fermeim (String s){
            ElementListe tmp = premier;
            while (tmp!=null){
                if(tmp.getValeur().nom==s){
                    tmp.getValeur().fermer();                
                }
                tmp=tmp.getSuivant();
            }                                          
        }//fin checkliste
 
ça ne marche pas  :fou: http://forum-images.hardware.fr/icones/smilies/fou.gif
je pense qu'il ne retrouve pas l'objet par son nom je trouve pas d'autre solution........
HELP PLEASE!!!!!!!
merci pour vos réponses

Reply

Marsh Posté le 05-06-2011 à 13:08:36   

Reply

Marsh Posté le 05-06-2011 à 13:19:00    

c'est une bibliotheque java non standard que tu utilise là, on ne peut pas t'aider, seul ton professeur, qui a développé cette bibliotheque, le pourrait :spamafote:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 05-06-2011 à 13:29:56    

Et ça ne marche pas n'est pas une information, il faut préciser si ça ne compile pas (avec l'erreur), si ça plante (avec l'erreur aussi), avec dans les deux cas, la ligne et l'instruction qui pose problème :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 05-06-2011 à 13:40:05    

Le programme compile correctement.
Je pense que la ligne qui pose problème est  
if(tmp.getValeur().nom==s){
                    tmp.getValeur().fermer();
En gros a chaque fois que l'utilisateur ouvre une image je veut créer un objet et le mettre dans la liste "imagelue".
pour fermer l'image j'essaye de la retrouver dans la liste avec son nom pour la fermer..... elle ne ferme pas

Reply

Marsh Posté le 05-06-2011 à 21:22:15    

Si j'ai bien compris, vous n'avez pas encore vu les collections?
 
Dans ce cas, utilise les breakpoints (points d'arrêt) ainsi que le débugger de ton EDI (Eclipse, Netbeans...) pour regarder dans ta procédure fermeim(String s) le contenu de ta variable tmp, savoir si elle récupère bien la liste d'objets demandée.
 
Ensuite est-ce que la méthode fermer() utilise une valeur ou une instance? Car à en lire ton code, tu fais:
 
tmp.getValeur().fermer();
 
Je vois donc tmp comme une liste d'instances, et il me semble qu'en Java tu utilises .getObject() ou juste .get(int index) pour extraire une instance d'une collection et interagir sur elle.
 
Regarde aussi ici : http://download.oracle.com/javase/ [...] /List.html
 
Lorsque vous aborderez les collections je pense que ça deviendra plus évident.
 

Reply

Marsh Posté le 06-06-2011 à 11:14:12    

Code :
  1. if(tmp.getValeur().nom==s){


 
Tu essayes de comparer des chaines de caractères, il faut utiliser equals plutôt que '=='.
 

Code :
  1. if(tmp.getValeur().nom.equals(s)){


Reply

Marsh Posté le 06-06-2011 à 12:18:40    

Merci a tous
Je prend note de toutes vos réponses.
 
bidem, effectivement en utilisant equals ça marche!! merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed