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

AWT/Swing Java Discussion :

Communiquer entre deux frames


Sujet :

AWT/Swing Java

  1. #1
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut Communiquer entre deux frames
    Bonjour à tous,

    Voilà, j'ai une Jframe avec dedant une JTable qui affiche les données d'une base XML, et différents boutons (ajouter modifier suppr).
    Ma JTable est définie par rapport à un AbstractTableModel.

    Mon problème est le suivant :
    Pour ajouter un élément à ma table je clique sur ajouter et il y a création d'une nouvelle frame, pour ajouter je clique sur valider et là j'aimerai bien qu'il m'actualise la JTable dans l'autre frame.
    Pour la fonction suppr il n'y a aucun problème puisque je ne change pas de frame je fais un : fireTableDataChanged(); et ça marche mais pas pour ajouter ça marche pas ...

    Est-ce que quelqu'un a une idée ? J'ai déjà essayé pas mal de trucs et je n'ai plus trop d'idées ...

    Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Salut,

    Citation Envoyé par PNL
    Est-ce que quelqu'un a une idée ? J'ai déjà essayé pas mal de trucs et je n'ai plus trop d'idées ...
    Ben en passant une référence de la première fenêtre à la seconde, ça se fait tout seul... pas besoin de chercher compliqué...
    Ou alors j'ai pas bien compris...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    Citation Envoyé par plegat
    Ben en passant une référence de la première fenêtre à la seconde, ça se fait tout seul.
    Comment on fait ça ? Je dois déjà l'avoir fait mais je suis un peu perdu en faite lol

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    quand tu créeta seconde frame tu utilise une autre classe que celle qui contient ta JTable je suppose. Si c'est le cas tu peut passer dans le constructeur de la classe de ta seconde frame une reference vers ta JTable comme ça la modification pourra etre faite depuis ta seconde frame.

  5. #5
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    Citation Envoyé par guigui5931
    ... quand tu crée ta seconde frame tu utilise une autre classe que celle qui contient ta JTable je suppose...
    Ok, mais comment je fais le liens ac un fireTableDataChanged() ? parce que ça marche pas avec une JTable (dans mon cas ma Table est créée à partir de Vector)

  6. #6
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaTable.getModel().fireTableDataChanged()

  7. #7
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    merci je vais essayer

  8. #8
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut ou alors...
    tu peut passer le model de ta jtable dans le constructeur de ta secondes frame et tu l'utilise pour ajouter ou supprimer les donnée, le transfère de données se fera automatiquement pas besoin de faire un fireXXX

  9. #9
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    je suis perdu là, (débutant dsl)
    quand je fais table.getModel(); je retourne le model de ma JTable et je dois mettre quoi dans le constructeur ?

  10. #10
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut tout d'abord
    en ce qui concerne ajouter je te conseille de faire un jdialog et non une jframe, (essaye et tu comprendras pourquoi !! )

    en ce qui concerne le model c'est un peut près ça: dans ta fenêtre principale quand tu click sur ajouter tu fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    monDialog MD = new monDialog(this,true,leModel);
    MD.setVisible(true);
    et dans la fenêtre du dialog une fois que ta saisie est fini tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Object[] enregistrement //a l'intérieure il y a tes nouvelles valeurs
    leModel.addRow(enregistrement);
    dispose();
    si qq aune meilleure solution elle est la bien venu de ma part c'est celle que j'utilise

    et un peut de courge se sont des trucs q t sensé trouver tout seul (après un peut d'effort)

  11. #11
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    oki,
    Je l'ai adapter à mon cas mais y a qq erreurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //ce que je faisais avant :
    JFrame jf = new JFrame();
    AjoutEvenement aj = new AjoutEvenement(currentDay,currentMonth,currentYear);
    		Component content = aj.createComponent();
    Comment je l'adapte parce que je passe par une fonction qui est dans AjoutEvenement et qui me crée l'affichage de ma fenêtre ou mon dialog, et qui retourne un component

  12. #12
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    je ne te suit plus là, tu t mal exprimé .....

  13. #13
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    Pardon ben le bout de code là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JFrame jf = new JFrame();
    AjoutEvenement aj = new AjoutEvenement(currentDay,currentMonth,currentYear);
    		Component content = aj.createComponent();
    C'est ce que je faisais pr afficher ma fenêtre d'ajout ac des champs titre commentaire date

    Comment je peu transformer ça en JDialog
    J'ai fais ça et y a plein d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dialog = new JDialog(this,true,table.getModel());
    Message d'erreur :
    The constructor JDialog(AfficheEvenementIG, boolean, TableModel) is undefined AfficheEvenementIG.java

    AfficheEvenementIG est extends de JPanel.

  14. #14
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut tu as redefini le constructeur ???
    il faut redefinir le constructeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private TableModel monmodel;//pour ton model
    public AfficheEvenementIG(javax.swing.JFrame jframe, boolean b, TableModel monmodel){
    super(jframe,b);
    this.monmodel = monmodel;
    }
    et ensuite dans le code de ta jframe (la fenetre principale qui est extends JFrame) tu appel ton AfficheEvenementIG comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AfficheEvenementIG IG = new AfficheEvenementIG(this,true,tatable.getModel());
    IG.setVisible(true);

    voila voila .....

  15. #15
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    ok, j'ai fais tout ça ...
    encore quelques erreurs

    es-tu sur que addRow marche pr un tableModel ?

  16. #16
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut oops j'ai oublié
    oops !!!!! désolé:

    tu doit faire un cast
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DefaultTableModel tableModel = (DefaultTableModel) tatable.getModel();
    ensuite tu pourras faire un addrow(information);

    sachant que information est tableau ex:
    si ta jtable a pour colonnes nom, prenom, adresse
    tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String information[] = {"dujardin","jean","paris"}
    tableModel.addrow(information);

    encore pardon

  17. #17
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    No problem !

    Par contre il me fait une erreur de cast :

    java.lang.ClassCastException

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DefaultTableModel tableModel = (DefaultTableModel)(table.getModel());
    		AjoutEvenement aj = new AjoutEvenement(this,true,tableModel,currentDay,currentMonth,currentYear);
    		Component content = aj.createComponent();

  18. #18
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    tu est sur que ta table est une JTable ???? si non je vois pas !!!!!

  19. #19
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    Voilà la déclaration de ma JTable :
    affEvent est extends extends AbstractTableModel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    affEvent = new AfficheEvenements();
    table = new JTable();
    table.setVisible(true);
    table.setShowGrid(false);
    table.setModel(affEvent);
    table.setVisible(true);

  20. #20
    PNL
    PNL est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 55
    Par défaut
    Bon j'ai essayé de mettre extends DefaultTableModel au lieu de Abstract, sauf que j'ai une erreur que je ne comprend pas du tout quand je compile :

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at AfficheEvenements.getRowCount(AfficheEvenements.java:46)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /**Retourne le nombre de lignes de la JTables */
    public int getRowCount()	
    {
    	return (ev.data.size())/(getColumnCount()) ;
    }
    Pour moi c'est la manière logique pr calculer le nombre de row ds ma JTable ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. envoi de variables entre deux frames
    Par martoune dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/07/2007, 15h00
  2. [PHP-JS] envoi de variable entre deux frames
    Par martoune dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2007, 13h50
  3. Communiquer entre deux anims flash
    Par delavega dans le forum Flash
    Réponses: 2
    Dernier message: 09/04/2007, 18h47
  4. Communiquer entre deux fiches MDI filles
    Par Morfus dans le forum Delphi
    Réponses: 13
    Dernier message: 05/03/2007, 15h36
  5. [jsp][servlet]passage de paramètre entre deux frames
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 29/06/2004, 11h14

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