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

Langage Java Discussion :

[Vector] Pour 2,...n dimensions ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut [Vector] Pour 2,...n dimensions ?
    Bonjour,

    Question simple : Comment créer un objet Vector à 2...n dimensions ?
    (comme pour les tableaux array[][]..[][]).

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut Re: [Vector] Pour 2,...n dimensions ?
    Citation Envoyé par FFF
    Bonjour,

    Question simple : Comment créer un objet Vector à 2...n dimensions ?
    (comme pour les tableaux array[][]..[][]).
    Un vecteur dans lequel tu ajouterais des objets Vector par exemple...non?

  3. #3
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    ok,

    en fait j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Vector<Vector> data=new Vector<Vector>();
    Vector<String> nom=new Vector<String>();
    Vector<String> prenom=new Vector<String>();
    data.add(nom);data.add(prenom);
    nom.add("toto");prenom.add("lul");
    J'ai une erreure :
    Fenetre1.java:20: warning: [serial] serializable class Fenetre1 has no definitio
    n of serialVersionUID
    public class Fenetre1 extends JPanel {

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Citation Envoyé par FFF
    ok,

    en fait j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Vector<Vector> data=new Vector<Vector>();
    Vector<String> nom=new Vector<String>();
    Vector<String> prenom=new Vector<String>();
    data.add(nom);data.add(prenom);
    nom.add("toto");prenom.add("lul");
    J'ai une erreure :
    Fenetre1.java:20: warning: [serial] serializable class Fenetre1 has no definitio
    n of serialVersionUID
    public class Fenetre1 extends JPanel {
    Ta classe implements serializable
    Avec java 5 il faut fournir un serialVersionUID

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Tu peux donner un coup d'oeil a la faq pour plus d'informations

  6. #6
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    ok merci, j'ai pas tout saisi pour serializable, mais ça marche, enfin preque, les ajouts se font par colonne au lieu de se faire par ligne.
    comment ajouter une ligne d'un tableau 2D ? Le code de dessus m'ajoute les éléments sur une colonne...

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 905
    Billets dans le blog
    54
    Par défaut
    En changeant ta méthode d'affichage ou ta méthode d'ajout d'objet dans le vector (au choix, mais pas les 2 en même temps).
    L'ordre colonne/ligne et ligne/colonne n'étant en effet qu'une vue de l'esprit.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    En fait c'est un peu plus compliqué que cela puisque j'utilise un JTable, donc l'affichage, c'est pas moi qui décide :

    JTable
    public JTable(Vector rowData,
    Vector columnNames)Constructs a JTable to display the values in the Vector of Vectors, rowData, with column names, columnNames. The Vectors contained in rowData should contain the values for that row. In other words, the value of the cell at row 1, column 5 can be obtained with the following code:

    ((Vector)rowData.elementAt(1)).elementAt(5);

    Parameters:
    rowData - the data for the new table
    columnNames - names of each column
    par contre l'ordre de création, j'ai le choix, mais je vois pas comment faire différemment de ce que j'ai écris plus haut !

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 905
    Billets dans le blog
    54
    Par défaut
    A oui tu t'yprend de travers : dans le cas de la JTable, c'est un vecteur de lignes qu'il faut pas un vecteur de colonnes (chaque ligne contient le nom ET le prenom).

    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
     
    Vector<String> columnNames = new Vector<String>();
    columnNames.add("Nom"); columnNames.add("Prenom");
    //
    Vector<Vector<String>> rows = new Vector<Vector<String>>(); 
    // Ligne 1.
    Vector<String> row1 = new Vector<String>(); 
    row1.add("Machin"); row1.add("Toto");
    rows.add(row1);
    // Ligne 2.
    Vector<String> row2 = new Vector<String>(); 
    row2.add("Dupont"); row2.add("Jean");
    rows.add(row2);
    // Ligne 3.
    Vector<String> row3 = new Vector<String>(); 
    row3.add("Durant"); row3.add("Hervé");
    rows.add(row3);
    ...
    Le résultat devrait etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Nom          Prenom
    ------------------------
    Machin       Toto
    Dupont       Jean
    Durant       Hervé
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  10. #10
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    ok, ça marche nickel !

    Merci Bouye et Benjamin aussi !

  11. #11
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    en essayant cette méthode sur un programme plus compliqué, je me demande où est la partie, dynamique de ce vector en 2D.
    je m'explique :
    j'ai crée rows en variable d'instance, que j'envoie à d'autre classes en paramètre, ok.
    par contre je ne connais pas le nombre de lignes (rows1,..n) de mon tableau. Du coup lorsque je veux insérer une ligne, il faut créer un objet row1. Mais lorsque je fait cela la ligne n'apparaît pas, "comme si l'objet" row1 s'était enlevé de rows, parce que l'objet est repassé à null. Faut-il faire un update() pour résoudre le problème ?

  12. #12
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 905
    Billets dans le blog
    54
    Par défaut
    J'ai pas tout compris mais si tu modifies ton vecteur après la création de ta JTable il faudrait sans doute faire un truc du genre monTableModel.fireTableStructureChanged().

    Sinon tu as toutes les méthodes nécessaires à l'ajout/retrait de lignes dans DefaultTableModel
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  13. #13
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    Ca complique pas mal les choses d'utiliser une Jtable(Vector,Vector)...
    Je pense utiliser ces méthodes plus tard, pour des cas plus simples... je vais rester pour l'instant sur des Tableaux de taille fixée, c'est nettement plus simple (c'est moins pro mais bon quand je vois excel, il n'utilise sûrement pas des vector !).
    Et puis d'un point de vue performance du programme/mémoire, je pense que l'on y gagne en rapidité d'execution en utilisant des tableaux ?!

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

Discussions similaires

  1. Redimensionner une image pour coller à des dimensions fixes d'un 'axes'
    Par ArnaudFu13 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 02/11/2012, 10h34
  2. Réponses: 5
    Dernier message: 12/08/2012, 20h29
  3. Colonne complexe pour fusion de dimensions
    Par PAYASS59 dans le forum Designer
    Réponses: 7
    Dernier message: 02/12/2011, 16h29
  4. [MediaWiki] Modification skin vector pour TreeAndMenu
    Par Squale76 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 12/10/2010, 20h25
  5. JComboBox(Vector) pour remplir les items
    Par une_tite_question dans le forum Composants
    Réponses: 4
    Dernier message: 22/04/2008, 18h19

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