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

Agents de placement/Fenêtres Java Discussion :

interaction swing et classe


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut interaction swing et classe
    Bonjour ,
    je suis nouveau dans la programmation Java et encore plus dans la création d'interfaces graphiques . J'utilise swing et netbeans ide pour les créer facilement mais je ne sais pas comment faire intérargir cette interface avec les autres classes ( classiques ) pour créer , effacer , modifier des objets ( par exemple remplir un champ grâce a un textarea ) grâce à celle-ci . Merci de bien vouloir m'aider .

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Les listeners te permettent de savoir quand un évènement associé aux composants est déclencher (par l'utilisateur -> bouton enfoncer, ajout de texte, etc...). C'est sans doute un aspect que tu devrais étudier.

    Dans le cadre d'un formulaire par exemple, l'utilisateur rempli les champs qui existe. Puis il valide son formulaire avec un bouton. Lors de l'appui sur ce bouton, c'est que tu vérifie les info contenu dans tes composants. Par exemple, tu récupère le texte d'un JTextArea par la méthode getText(). Savoir si une JCheckBox est coché ou non avec la méthode isSelected(). etc...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut
    Salut ,
    Je vois bien ce que sont ces listeners , j'en ai utilise pour relier les pages avec des boutons ou pour des menus . Ces évènement se manipulent a travers de fonction dans ma classe IHM . Mon problème se situe après car je ne peux pas manipuler les objets d'autres classes a l'intérieur de ces fonctions ( instanciés dans le main d'une autre classe ) car ces instances ne sont pas manipulable a cet endroit . Mon problème se trouve peut-être dans l'agencement des classes
    ( instance de la classe IHM dans une autre classe , utilisation du main de la classe IHM , etc je ne sais pas ) car j'ai actuellement une classe IHM séparée des autres .
    Merci de votre aide .

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Si tu peux poster ton code...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut
    Salut ,
    voila une partie de mon code comme exemple :
    la classe entreprise
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    public class entreprise {
     
        java.util.Vector<article> tous_les_articles = new java.util.Vector() ;
     
        void ecriture_fichier()
        {
        String filename = "Article.ser";
    java.io.FileOutputStream fos = null;
    java.io.ObjectOutputStream ous = null;
    try {
        fos = new java.io.FileOutputStream(filename);
        ous = new java.io.ObjectOutputStream(fos);
        ous.writeObject(tous_les_articles);
        ous.close();    
     }
       catch(java.io.IOException ioe) 
    {ioe.printStackTrace();}
    }
        void lire_fichier()
    {
    String filename = "Article.ser";
    java.io.FileInputStream fos = null;
    java.io.ObjectInputStream ous = null;
    try {
        fos = new java.io.FileInputStream(filename);
        ous = new java.io.ObjectInputStream(fos);
        Object lu = ous.readObject();
        java.util.Vector<article> p ;
        p=(java.util.Vector)lu ;
    for(int i=0 ; i<p.size() ; i++)
    {
    this.tous_les_articles.add(p.elementAt(i));
    }
    }   
    catch (java.lang.ClassNotFoundException e) {
            e.printStackTrace();
    }
    catch(java.io.IOException ioe) 
    {ioe.printStackTrace();}
     
    }
     
         public static void main(String args[]) {  
     
         ihm software_ihm = new ihm();  
         software_ihm.setVisible(true);
         software_ihm.dispose();
        entreprise e = new entreprise() ;
     
      }
    la classe article

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    abstract public class article implements java.io.Serializable {//classe article
    //attributs
        java.lang.String _reference;
        java.lang.String _designation;
        java.lang.String _type_fabrication_achat;
        java.lang.String _unite_achat_stock;
        int _delai_en_semaine;
        int _prix_standard;
        int _lot_prix_reapprovisionnement ;
        int _stock_mini;
        int _stock_maxi;
        java.util.Vector<lien_de_nomenclature> lien ;
        int inventaire;
        gamme_de_fabrication la_gamme ;
        java.util.Vector<Mouvement_de_stock> les_mouvements = new java.util.Vector();
        abstract void afficher();
        //methodes
        article(java.lang.String reference,java.lang.String designation,java.lang.String type_fabrication_achat,
        java.lang.String unite_achat_stock,int delai_en_semaine,int prix_standard,int lot_prix_reapprovisionnement,int stock_mini,
        int stock_maxi ){
        _reference=reference;
        _designation=designation;
        _type_fabrication_achat=type_fabrication_achat;
        _unite_achat_stock=unite_achat_stock;
        _delai_en_semaine=delai_en_semaine;
        _prix_standard=prix_standard;
        _lot_prix_reapprovisionnement=lot_prix_reapprovisionnement;
        _stock_mini=stock_mini;
        _stock_maxi=stock_maxi;
        }
        article(){}
     
     
     
    }
    elle est abstract parce que des classes heritent mais la c pas important
    la classe ihm
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
     
    public class ihm extends javax.swing.JFrame {
     
        /** Creates new form ihm */
        public ihm() {
            initComponents();
        }
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
     
    private void Welcomingwindowopen(java.awt.event.WindowEvent evt) {                                     
      Welcomingwindow.setSize(800, 600);
    Welcomingwindow.setVisible(true);
     
     
        // TODO add your handling code here:
    }                                    
     
    private void EnterButtonAction(java.awt.event.MouseEvent evt) {                                   
    Welcomingwindow.setVisible(false);
    Mainwindow.setSize(800, 600);
    Mainwindow.setVisible(true);
    jInternalFrame1.setVisible(false);
        // TODO add your handling code here:
    }                                  
     
    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
    // TODO add your handling code here:
    }                                          
     
    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
    jInternalFrame1.setVisible(true);
    jMenu1.setEnabled(false);
     
     
        // TODO add your handling code here:
    }                                          
     
    private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {                                           
     
    int reponse=javax.swing.JOptionPane.showConfirmDialog(Mainwindow, "Voulez-vous continuer ?","Quitter",javax.swing.JOptionPane.YES_NO_OPTION);
    if(reponse==0)
    Mainwindow.dispose();
    System.exit(0);
     
        // TODO add your handling code here:
    }                                          
     
     
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
           java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new ihm().setVisible(true);
     
                }
            });
     
         }
     
     
     
        // Variables declaration - do not modify                     
        private javax.swing.JFrame Mainwindow;
        private javax.swing.JFrame Welcomingwindow;
        private javax.swing.JButton jButton1;
        private javax.swing.JFileChooser jFileChooser1;
        private javax.swing.JInternalFrame jInternalFrame1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JMenu jMenu1;
        private javax.swing.JMenuBar jMenuBar1;
        private javax.swing.JMenuItem jMenuItem1;
        private javax.swing.JMenuItem jMenuItem2;
        private javax.swing.JMenuItem jMenuItem3;
        private javax.swing.JMenuItem jMenuItem4;
        private javax.swing.JFrame test;
        // End of variables declaration

  6. #6
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Il a beaucoup à dire sur le code que tu as posté.

    Mais ton interface Graph ne dispose aucun composants !
    Pour cela il convient d'utiliser un gestionnaire de placement (Layout).
    Il y en a de plusieurs sorte, du plus simple au plus complexe.
    Voici les tuto de Sun sur le sujet.

    Ensuite tu as des méthodes d'évènement, mais tes composants doivent être "reliés" a ces méthodes. Ta classe doit implémenter les listeners (implements), et tu doit ensuite ajouter ses listeners aux composants. Sun.
    Par exemple pour un bouton, ta classe doit implementer ActionListener et tu doit ensuite ajouter ce listener au bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monBouton.addActionListener(monListener);
    Ensuite, pour que ton interface affiche les éléments de ton code métier (des articles peut être) passe lui ton Vector<article> dans le constructeur ou dans une méthode. Ainsi, il peut exploiter ce vector, pour par exemple afficher tes articles dans une JTable (ou bien dans d'autres composants suivant tes besoins ou tes aspirations).

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut
    Salut ,
    Je vais me pencher sur tout ça et regarder attentivement les liens . Je posterai a nouveau si une zone d'ombre subsiste . Merci de m'avoir m'aider .

Discussions similaires

  1. Interactions entre les classes ?
    Par bigwade dans le forum Android
    Réponses: 8
    Dernier message: 08/12/2012, 15h24
  2. interaction de java class avec Jframe form
    Par khriji dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 19/03/2012, 15h27
  3. [MySQL] POO - interaction entre les classes (tuto PHPUnit)
    Par hornetbzz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/02/2010, 11h30
  4. Swing et Class DocumentParser
    Par luchet dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 09/12/2008, 15h13
  5. [Swing]Affichage classe extends JPanel
    Par Quentin D dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 03/08/2007, 13h58

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