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

avec Java Discussion :

Remplir une ComboBox à partir d'une liste qui se trouve dans une autre classe


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 61
    Points
    61
    Par défaut Remplir une ComboBox à partir d'une liste qui se trouve dans une autre classe
    Salut !
    Je travaille avec NetBeans, j'ai un petit problème pour remplir un combo qui se trouve dans la JFrame domaine avec des élement d'une liste qui se trouve dans une autre JFrame classe, en réalité j'ai pas vraiment une idée clair pour faire ceci, j'ai pensé a mettre mes élément dans une liste l de type String a chaque fois j'ajoute un domaine; mais je vois pas comment je pourrai les mettre dans la combox voici mon bout de code

    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
    public class domaine1 {
        String nom;
     
        ArrayList<String> s=new ArrayList<String>();
     
        public domaine1() {
        }
     
     
     
     
     
     
     
        public ArrayList<String> getS() {
            return s;
        }
     
     
        public domaine1(String nom) {
            this.nom = nom;
        }
        public domaine1(String nom,ArrayList<String> c)
        {
            this.nom=nom;
            this.s=c;
        }
     
        public ArrayList<String> getCl() {
            return s;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setCl(ArrayList<String> cl) {
            this.s = cl;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
     
     
     
     
     
    }
    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
    public class Domaine extends javax.swing.JFrame {
     
        int i=0;
        ArrayList<domaine1>dm=new ArrayList<domaine1>();
         ArrayList<String> s=new ArrayList<String>();
     
        public Domaine() {
            initComponents();
                    this.setLocationRelativeTo(null);
     
        }
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
        domaine1 d=new domaine1(nomd.getText().toString(),s);
        dm.add(d);
    }                                        
     
    private void ajouterActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
        String c=cl.getSelectedItem().toString();
        s.add(c);
     
    }

    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
    public class classe1 {
        String nom;
        String des;
     
        public classe1(String nom, String des) {
            this.nom = nom;
            this.des = des;
        }
     
        public classe1() {
            this.nom="";
            this.des="";
        }
     
        public String getDes() {
            return des;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setDes(String des) {
            this.des = des;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
     
    }
    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
    public class Classe extends javax.swing.JFrame {
     
        ArrayList<classe1> cl=new ArrayList<classe1>();
        int i=0,j=0;
    ArrayList<String>l=new ArrayList<String>();
        /** Creates new form Classe */
        public Classe() {
            initComponents();
                    this.setLocationRelativeTo(null);
     
     
        }
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
        this.setVisible(false);
    }                                        
     
    private void ajouter_classeActionPerformed(java.awt.event.ActionEvent evt) {                                               
     
     
        classe1 c =new classe1(nomc.getText().toString(),des.getText().toString());
        cl.add(c);
        l.add(cl.get(j).getNom());
        j++;
     
    }

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Une piste
    Bonjour,

    Pour pouvoir vous guider, il me faudrait savoir si vos deux frames font parties de la même application, ou si ce sont deux applications différentes (Une ou plusieurs instances de la machine virtuelles).
    En effet, la problématique n'est pas du tout la même.
    Si vos fenêtres s'exécutent dans le même application (la même machine virtuelle), il vous faut trouver un point commun au deux. Comme il s'agit de fenêtre, je penses que la seule classe qui pourrait s'adresser aux deux fenêtres est votre classe main. Dans ce cas, partons du principe que la JFrame Domaine est invoquée en premier. Il y a deux alternatives. Ou vous rendez l'instance du JComboBox contenu dans Domaine public pour permettre à la classe main d'y accéder, soit vous écrivez une méthode de type get qui permet de la récupérer. Ensuite, vous ajoutez un constructeur de plus à votre JFrame Classe qui demandera en troisième paramètre, un JComboBox.
    La classe main instancie Domaine et l'affiche, ensuite elle récupère le JCombo pour le fournir en troisième paramètre du constructeur de l'instance de Classe. Ainsi, une fois la seconde JFrame Classe instanciée, cette dernière aura en sa possession une référence vers la JComboBox de Domaine.
    Cependant, si c'est la JFrame Classe qui s'exécute en premier, alors il faudra faire de même mais avec sa liste, qui sera alors fournit à Domaine en troisième constructeur.
    Pour finir, si jamais les fenêtres font partie de deux applications différentes, il ne reste plus que l'astuce du port.
    En effet, rien ne vous empêche de faire dialoguer les deux fenêtre entre elles par un socket réseau. Vous pouvez et c'est je crois dans ce cas plus propre, créer un pipe entre les deux (voir PipedInputStream/PipedOutputStream)...

    J'espère que cela vous aidera.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 61
    Points
    61
    Par défaut
    Merci pour la réponse, je vais appliquer

Discussions similaires

  1. [Débutant] Concatener 2 champs dans une combobox à partir d'un DataContext
    Par jubourbon dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 19/04/2013, 18h00
  2. Réponses: 2
    Dernier message: 23/12/2012, 16h46
  3. Comment afficher des listes qui se trouvent dans une autre liste ?
    Par khadi8 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 24/03/2012, 21h13
  4. [XL-2007] Liste et mise à jour dans une comboBox
    Par Dref60000 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/12/2009, 00h24
  5. récupérer ce qui est affiché dans une combobox ?
    Par Sefrou dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/01/2009, 20h37

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