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 :

Regrouper des Enumérations


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut Regrouper des Enumérations
    Bonjour,

    je voudrais faire un fichier contenant toutes les énumérations de mon application.
    Je commence par exemple par faire une énumération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public enum enumChampsDonnees {
      Bla, Bla ....;
    }
    Eclipse me dépose cela dans un fichier enumChampsDonnees.java

    Si je veut enregistrer ce fichier sous le nom "enumérations.java", Eclipse me signale: Le type publique enumChampsDonnees doit être défini dans son propre fichier.
    J'ai l'impression (presque une certitude ) qu'il veut que chaque énumération possède son fichier. Or j'aimerais bien regrouper tout cela dans un seul fichier.

    D'autant plus que je voudrais aussi mettre dans ce fichier des tableaux de chaines constantes, liées à certaines énumérations.
    Par exemple (ce n'est qu'un exemple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public enum numeration {
    UN, DEUX, TROIS;
    }
     
    public static String[] tableNumeration {
    "Un", "Deux", "Trois";
    }
    ( Ne faites pas trop attention à cette dernière ligne de code, je ne sais pas encore comment il faut écrire cela )

    Comment est-ce que je peux expliquer tout cela à Eclipse ?

    Merci et @ bientôt...

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    En Java chaque type public doit être écrit dans son propre fichier, c'est à dire un fichier .java du même nom.
    De même par convention les nom de types (classe, interface, enumeration et annotation) commencent par une Majusucle...

    Enfin tu ne peux pas définir de tableau "comme ca" n'importe où...


    Que cherches-tu à faire exactement avec tout cela ?

    a++

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour adiGuba,

    en clair, je fais une JTable (d'après le tutoriel de Jean-Baptiste WICHT).
    En ce qui me concerne c'est un tableau de comptabilité dont l'en-tête sera constitué comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private final String[] m_Entetes = {"N°", "Date", "P", "Crédit", "Débit", "Solde prévu", "Solde pointé", "Observations"};
    Ca se trouve dans ma classe de gestion des données.

    Ensuite dans l'exemple de Jean-Baptiste, il implémente la méthode pour obtenir une valeur de la table comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Object getValueAt(int ligne, int colonne) {
      switch (colonne) {
      case 0:
        Bla bla 0;
      case 1:
        Bla bla 1:
    /.../
    Plutôt que des valeurs numériques, je préfèrerais des libellés de constantes, c'est plus explicite, et si un jour je décide de changer l'ordre des colonnes de la table, je modifierai mon énumération de constantes, et cela se répercutera dans toute l'application.

    Ensuite, il y a le problème de l'en-tête de la table.
    Si je modifie l'ordre de mes colonnes dans ma table des données, il faut que l'en-tête de la table bouge aussi. D'où l'idée de faire un tableau de chaine, déclaré dans le même fichier que mon énumération.
    Ainsi, si je change l'ordre de l'énumération, je penserai à changer l'ordre de mes chaines de caractères définissant l'en-tête de la table.

    Et comme il y a de fortes chances que des énumérations soient liées entre-elles (au niveau du sens des libellés), j'aimerais que tout soit dans un seul fichier.
    L'idée est de faire un peu comme pour le C++, un fichier d'entête "Mes enumerations.h", qui regroupe tout, et qui est visible par toutes les classes de l'application.

    Voila, maintenant vous savez tout. J'espère que je suis suffisamment clair. En tout cas, merci pour votre réponse.

    @+

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Tant qu'à utiliser une enum, utilises ses attributs. En Java une enum est un vrai objet :
    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
    public enum Entete {
        NUMERO("N°"),
        DATE("Date"),
        P("P"),
        CREDIT("Crédit"),
        DEBIT("Débit"),
        SOLDE("Solde prévu"),
        POINTE("Solde pointé"),
        OBSERVATION("Observations");
     
     
       private final String text;
     
       private Entete(String text) {
           this.text;
       }
     
       public String getText() {
           return this.text;
       }
    }

    a++

  5. #5
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Poh poh poh, alors ça c'est puissant

    Merci beaucoup !!

    (Excusez-moi, mais j'ai l'impression que je réfléchis encore en mode BASIC )

    @ bientôt

  6. #6
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Re bonjour,

    encore une question dans le prolongement de ce post:

    J'ai besoin de récupérer l'ensemble des libellés de l'énumération pour les mettre dans une tableau String.

    Je pense réaliser cela à l'aide d'une bouble for{ ...}.
    Le petit problème qui se pose à moi est que je ne sais pas comment connaitre le nombre d'éléments de cette itération.

    Et je me dit que peut être il existe une syntaxe en Java qui permet de faire cela à l'aide d'une boucle for étendue ?
    (Je me méfie maintenant avec Java, il existe des syntaxes tellement puissantes, je ne voudrais pas faire 10 lignes de codes BASIC, s'il existe la même chose en 1 ligne Java )

    @ bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CSS] regrouper des valeurs communes
    Par nixonne dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/08/2005, 04h49
  2. Réponses: 3
    Dernier message: 11/07/2005, 16h20
  3. Regrouper des champs dans un GROUP BY
    Par kaiserazo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 11/07/2005, 09h43
  4. Regrouper des fichiers sous un même nom
    Par Azharis dans le forum C++
    Réponses: 7
    Dernier message: 22/06/2005, 13h05
  5. SQL - Regrouper des enregistrements...
    Par Régent dans le forum Langage SQL
    Réponses: 6
    Dernier message: 07/02/2005, 00h42

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