IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Probleme Patron strategie.


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 51
    Par défaut Probleme Patron strategie.
    Bonjour,
    J'aimerais afficher ma listeView avec mes élements de ma classe " MusiqueDur"
    Hors je suis bloquer dans ma classe ListeMusique;
    Pourriez vous m'aider svp ?
    Merci

    Ma Classe Musique dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MusiqueDur extends MusiqueManager{
     
        @Override
        public ArrayList<Musique> LireMusique(Integer id,String titre,String artiste,String duree){
                    ArrayList<Musique> listeTemporaire = new ArrayList();
                    listeTemporaire.add(new Musique(3, "Ceci est un essai", "Joanny", "5m10"));
                    return listeTemporaire;
        }
    }
    ma classe MusiqueManager :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public abstract class MusiqueManager{
     
        public abstract ArrayList LireMusique(Integer id,String titre,String artiste,String duree);         
     
    }
    Ma classe ListeDeMusique ( il semblerait que se soit elle qui pose pb ... )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public class ListeMusique {
        ObservableList<Musique> lesMusiquesObservables = FXCollections.observableArrayList();
     
        private final ListProperty<Musique> lesMusiques = new SimpleListProperty<>(lesMusiquesObservables);
            public ObservableList<Musique> getLesMusiques() {return lesMusiques.get();}
            public void setLesMusiques(ObservableList<Musique> value) {lesMusiques.set(value);}
            public ListProperty<Musique> lesMusiquesProperty() {return lesMusiques;}
     
     
        public ListeMusique(ListProperty<Musique> lesMusiques){
            lesMusiques=MusiqueDur();
        }
     
     
        public void lireMusique(){
            ArrayList<Musique> listeTemporaire = ListeMusique.lireMusique();
            lesMusiques.add();
        }
    }
    Ma classe Musqiue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public class Musique {
     
        private final IntegerProperty id = new SimpleIntegerProperty();
        public int getId() {return id.get();} public void setId(int value) {id.set(value);}
        public IntegerProperty idProperty() {return id;}
     
        private final StringProperty titre = new SimpleStringProperty();
        public String getTitre() {return titre.get();}
        public void setTitre(String value) {titre.set(value);}
        public StringProperty titreProperty() {return titre;}
     
        private final StringProperty artiste = new SimpleStringProperty();
        public String getArtiste() {return artiste.get();}
        public void setArtiste(String value){artiste.set(value);}
        public StringProperty artisteProperty() {return artiste;}
     
        private final StringProperty duree = new SimpleStringProperty();
        public String getDuree() {return duree.get();}
        public void setDuree(String value) {duree.set(value);}
        public StringProperty dureeProperty() { return duree;}
     
     
        public Musique(Integer id, String titre, String artiste, String duree){
            this.id.set(id);
            this.titre.set(titre);
            this.artiste.set(artiste);
            this.duree.set(duree);
     
        }
     
     
     
     
     
     
    }

  2. #2
    Membre expérimenté Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Par défaut
    Certainement à la ligne 42. La réponse est toujours 42. (Ah, zut, aucune de tes classes n'a 42 lignes. Ton problème n'est pas la grande question de l'univers, désolé)
    Sinon, plus sérieusement, c'est quoi le problème, ça ne compile pas ? Ça ne s’exécute pas ? Ça ne donne pas le bon résultat ?

    A part ça, ce code me choque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public ListeMusique(ListProperty<Musique> lesMusiques){
            lesMusiques=MusiqueDur();
        }
    Tu essaies d'attribuer une instance de MusiqueDur à une variable de classe ListProperty<Musique>.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 51
    Par défaut
    Si tout compile sauf ces 2 lignes car je ne vois vraiment pas cmment faire ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public ListeMusique(ListProperty<Musique> lesMusiques){
            lesMusiques=();
        }
     
     
        public void lireMusique(){
            ArrayList<Musique> listeTemporaire = ListeMusique.lireMusique();
            lesMusiques.add();
        }

  4. #4
    Membre expérimenté Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        public ListeMusique(ListProperty<Musique> lesMusiques){
            this.lesMusiques=lesMusiques;
            // ou
            this.lesMusiques.set(lesMusiques.get())
        }
    // ou bien
        public ListeMusique(ListProperty<Musique> unAutreNom){
            lesMusiques=unAutreNom;
            // ou
            lesMusiques.set(unAutreNom.get())
        }
    Je pense que c'est mieux comme ça. A toi de choisir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public void lireMusique(){
            ArrayList<Musique> listeTemporaire = ListeMusique.lireMusique();
            lesMusiques.add();
        }
    Par contre là, je ne comprends pas tout. Pourquoi lesMusiques.add(); ? Que veux-tu rajouter ? La méthode add prend obligatoirement un paramètre.
    Ensuite ListeMusique.lireMusique(); n'est pas statique, donc tu ne peux pas l'appeler de cette façon. La déclarer statique n'est pas non plus la solution à mon avis, je pense que tu devrais passer par le pattern singleton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public void lireMusique(){
            ArrayList<Musique> listeTemporaire = ListeMusique.getSingleton().lireMusique();
        }

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 51
    Par défaut
    En fait, mon musiqueadd sert a ajouter les musiques qui sont dans la classe MusiqueDur.
    J'aimerais avoir le lien entre MusiqueDur et la listeView ..

  6. #6
    Membre expérimenté Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Par défaut
    Ok, on va y arriver.

    Déjà il faut typer la liste de résultat dans ta classe MusiqueManager (pas non plus besoin de signaler explicitement qu'il s'agit d'une ArrayList au passage) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public abstract List<Musique> lireMusique(Integer id,String titre,String artiste,String duree);
    Ensuite dans ta classe ListeMusique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public void lireMusique(){
            List<Musique> listeTemporaire = MusiqueManager.getSingleton().lireMusique();
            lesMusiques.addAll(listeTemporaire);
        }

Discussions similaires

  1. [WS 2008 R2] Probleme de l’arborescence de la foret de la gestion de strategie de groupe
    Par sadqie dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 24/11/2011, 19h54
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo