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

avec Java Discussion :

Faire une list d'object


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Faire une list d'object
    Bonjour j'essaye à tout prix de faire une liste (ou Arraylist ou tableau peu importe) de forme àléatoire (comme des ronds ou carré) mais je n'arrive pas à trouver le bon type pour instantié ma list, je commence à avoir l'impression que ce n'est pas possible.. une idée?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    C'est pas très clair. Tu as sûrement déjà utilisé des listes ou des tableaux à d'autres occasions et ça marchait très bien.
    Alors qu'est-ce qui te gêne exactement pour faire à nouveau la même chose ? Montre-nous et parle-nous-en.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ok par exemple avec une ArrayList de type Graphics :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ArrayList<Graphics> formes = new ArrayList<Graphics>();
    j'ai donc dans mon algorithme envie de remplir cette list aléatoirement avec des ovales ou des rectangles :
    donc par exemple dans le premier cas je veux faire un rectangle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    switch((int)random(3)){
            case 0:
              formes.add(new Rectangle(0,0,20,20));
              break;
    et là il me reppond qu'on ne peut pas metre de rectangle dans une liste graphics.. du coup je cherche quoi metre comme type à la place de graphics pour pouvoir rentrer rectangle, ovale ou polygone.
    j'espère metre bien exprimer je ne suis encore qu'un amateur en java..

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Il faudrait que tout ce petit monde soient des sous-types de Graphics.
    Par exemple, si Graphics est une classe, il faudrait que Rectangle soit une sous-classe de Graphics, avec class Rectangle extends Graphics {.
    Si Graphics est une interface, il faudrait que Rectangle implémente cette interface, avec class Rectangle implements Graphics {.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    mmh ok ça à l'air trop compliqué pour moi et pour ce que je veux faire.. mais du coup rectangle,ovale ect.. ils sont des sous class de qui ? car je pensais que c'était graphics justement..

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ben, ça arrivera pas tout seul. Quand tu crées des classes, et que tu veux qu'une classe B soit une sous-classe de A, tu dois faire en sorte que B soit une sous-classe de A. Avec extends.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Citation Envoyé par RHPS81 Voir le message
    mmh ok ça à l'air trop compliqué pour moi et pour ce que je veux faire.. mais du coup rectangle,ovale ect.. ils sont des sous class de qui ? car je pensais que c'était graphics justement..
    Donne le code de Graphics / Rectangle et Circle, on te dira comment modifier ça (et pourquoi il faut faire comme ça)
    Je ne suis pas mort, j'ai du travail !

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Précision supplémentaire : si ce n'est pas des classes que tu as faites toi-même, regarde la javadoc pour voir quelle interface (ou classe) elles ont en commun...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    ça y est j'ai compris là où je m'était mal expliqué c'est que j'avais pris graphics de la class awt du coup quand j'essayé d'implémenté rectangle il ne voulais pas mais j'ai crée une nouvelle class (Dessins), j'ai fais comme tu m'a dis et ça marche merci beaucoup !

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Au final je suis aller voir dans le javadoc, j'ai pris le type object et tout semble marcher! mais maintenant je veux de les dessiner un a un et je ne trouve aucune fonction pour ça. j'ai essayé f.clone() mais ça ne marche pas. y'aurais t'il une autre fonction ou es ce qu'il vaut mieux que je crée une class pour chaque forme avec une fonction display dedans ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(Object f: formes){
          f.clone();
        }

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Oui, enfin, Object c'est la classe commune à toutes les classes. Ça fonctionne forcément, mais ça va te limiter pour faire une gestion spécifique, en particulier si tu veux justement appeler une méthode de dessin genre display(), qui n'existera jamais sur Object. Justement, si Rectangle et je ne sais quoi (Cercle ?) sont des classes à toi, elle devrait avoir une classe parent commune (ou implémenter une même interface), avec cette méthode display. Et la liste devrait être typé par cette classe, ce qui te permettra d'appeler cette méthode sur l'ensemble des instances (sans manipulation du genre "if instanceof" et/ou "cast").

    Par ailleurs, on t'a demandé de nous montrer tes classes Graphics, Rectangle, etc... On ne peut parler qu'en théorie, et ça ne colle pas forcément à tes classes.

    Sinon, clone() n'a rien à voir avec le dessin (et voir javadoc aussi pour voir à quoi ça sert et comment s'en servir).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    bah du coup j'utilise plus graphics ça marchais pas et rectangle et cercle (enfin c'est oval) c'est celle de java c'est pas les miennes j'en ai jamais crée mais si une fois que j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formes.add(new Rectangle(x,y,h,l);
    je peux pas le resortir a un moment pour l'afficher à l'écran ça sert à rien et vaut mieux que je crée ma propre class rectangle non?

  13. #13
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Si tu fais du swing, regarde dans la javadoc l'interface Shape... ça pourrait te sortir de ta situation les classes qui l'implemente existe déjà et en plus rien ne t'interdis d'en créer de nouvelles.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Débutant] web-service-rest-avec-wcf-3-5. comment faire un PUT d'une Liste d'object ?
    Par denfer06 dans le forum Développement Web avec .NET
    Réponses: 2
    Dernier message: 16/04/2014, 14h48
  2. Peut faire un Dispose d'une List(Of object) ?
    Par MadLion dans le forum VB.NET
    Réponses: 6
    Dernier message: 19/11/2007, 11h15
  3. [VB]faire une liste
    Par kleen3x dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/01/2006, 17h40
  4. Comment faire une liste d'image de choix ?
    Par poussinphp dans le forum Composants VCL
    Réponses: 4
    Dernier message: 01/10/2005, 00h34
  5. Faire une liste de device??
    Par jackjack dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2003, 14h43

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