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 :

[Debutant] Creer plusieurs "pages"


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 236
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 236
    Par défaut [Debutant] Creer plusieurs "pages"
    Bonjour,

    J'aimerais me faire une petit application que j'utiliserais pour ma recherche d'emploi pour sauvegarder les entreprises que je dois rappeller par exemple avec la possibilité de mettre un petit commentaire ... Ils seront sauvegarder dans un fichier xml.


    Lorsque l'on demarre l'appli, on tombe sur la page d'acceuil avec 2 boutons :
    Ajouter entreprise
    Lister

    Lorsque l'on clique sur "Ajouter entreprise", on tombe sur une nouvelle fenetre avec les JLabel et JtextField suivant pour ajouter une entreprise :
    Entreprise
    Date Insertion
    Date réponse
    Commentaire

    Lorsque l'on clique sur le bouton Lister
    , cela me liste toutes les entreprise enregistré dans le fichier xml dans un JTable (je pense que le plus adapté). Je n'ai pas encore créé cette page.

    Mes fichiers

    Acceuil.java
    Ce fichier est utilisé dans la page avec les 2 boutons "Ajourter entreprise" et "Lister"
    public class Acceuil extends javax.swing.JFrame {
    .....}


    Ajout.java
    Ce fichier est lister les entreprises saisies.
    public class Ajout extends javax.swing.JFrame {
    .....}

    Main.java
    fichier principal avec la méthode main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new Acceuil().setVisible(true);
                }
            });
        }


    Je suis débutant, j'utilise Matisse pour creer l'interface Swing. Ma question était comment passer de la page d'accueil à la page "ajout.java".


    Pour le moment, j'ai créé un listener sur le bouton "Ajouter entreprise" avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            new Ajout().setVisible(true);
        }
    je créé un objet Ajout pour afficher la page "ajout.java" mais je ne pense pas que ce soit la meilleur solution. Je ne stocke pas la référence de l'objet retourné ....

    Que me conseillez vous de faire comme solution simple ?

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    Bonjour,

    le mieux est je pense d'avoir dans ta classe Acceuil une instance de Ajout que tu mets à jour et affiches quand tu en as besoin.

    Quand tu n'en as plus besoin, tu mets cette fenêtre invisible, reste à définir comment récupérer des infos depuis cette fenêtre (lors de la mise non visible ou avant...).

    (Sinon le plus propre serait de séparer vues, modèle(s) et contrôleurs) avec MVC mais vu que tu débutes apparement en Swing, ça serait trop te compliquer la tâche)

    Enfin, à part si c'est pour te familiariser avec Java/Swing, il existe beaucoup de trucs gratuits qui font ce que tu cherches à faire en plus complet (ANPSEDIC entre autre : c'est ce que j'utilise et c'est pas mal).

  3. #3
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 236
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 236
    Par défaut
    En effet c'est pour débuter, pour me familiariser un peu en meme temps avec XML puis par la suite j'enregistrerais dans une base MySQL

    Oui en effet le mieux serait de rendre visible puis de cacher mais comment faire pour passer l'information du fichier "ajour.java" => "acceuil.java" pour le rendre visible ou non. J'y avais penser mais je ne sais comment m'y prendre.

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    Pour faire passer l'info tu as plusieurs solutions :

    - la plus facile : ta seconde fenêtre ("ajout") appelle une méthode de "accueil" pour passer des données (donc "ajout" doit avoir une référence sur "accueil") puis se met invisible (setVisible(false)),

    - utiliser MVC...

  5. #5
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 236
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 236
    Par défaut
    Citation Envoyé par Yannick_from_31 Voir le message
    Pour faire passer l'info tu as plusieurs solutions :

    - la plus facile : ta seconde fenêtre ("ajout") appelle une méthode de "accueil" pour passer des données (donc "ajout" doit avoir une référence sur "accueil") puis se met invisible (setVisible(false)),
    Oki, lorsque je vais passer sur la page Ajout : l'objet Ajout va etre creer et juste apres l'objet "Acceuil" va etre en setVisible(false).

    Donc c'est au moment ou je construit l'objet Ajout qu'il faut transmettre la référence de Acceuil. Cela signifie que dans le constructeur de Ajout, on passe en parametre la référence de Acceuil.

    Voici donc le construteur de Ajout ou je passe Acceuil :

    public Ajout(Acceuil a) {
    a.setVisible(false);
    initComponents();
    }



    mais je ne sais pas du tout comment faire passer la référence de Acceuil au moment de la construction de l'objet Ajout (au moment ou je clique sur le bouton "Ajouter"). Voici le code :

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    new Ajout(Acceuil this).setVisible(true);
    }
    J'ai une erreur, comment faire passer sa propre référence (ici Acceuil) à Ajout ?



    Citation Envoyé par Yannick_from_31 Voir le message
    - utiliser MVC...
    Il va en effet falloir que je regarde ca dans un second temps :

    http://baptiste-wicht.developpez.com...onception/mvc/
    http://abrillant.developpez.com/tuto.../introduction/

  6. #6
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 236
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 236
    Par défaut
    Bon je me répond à moi meme. J'ai y repensé dans le métro et comme un idiot au moment de la construction de l'objet je preciser le type alors qu'il ne faut preciser que la variable.


    La solution est donc :
    new Ajout(this).setVisible(true);


    EDIT : je met pas en résolu tout de suite parce que j'aurais peut etre une autre question

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