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 :

Comment modifier l'instance d'une classe de type Panel après son instanciation ?


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de POKOU
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 121
    Points : 101
    Points
    101
    Par défaut Comment modifier l'instance d'une classe de type Panel après son instanciation ?
    Bonjour

    J'ai un controleur qui crée une instance d'un Panel qui affiche:

    un textfield
    nom: DELAVILLE

    et une 1ère combobox
    liste des lettres de l'alphabet:

    et une 2ième combobox
    liste de prénoms

    Mon controleur crée une instance de mon panel qui m'affiche le nom de la personne et les 2 combobox.

    Je voudrais afficher uniquement les prénoms commençant par la lettre selectionne de la combo des lettres.

    Alors j'ai mis un listener interne dans le panel puis un ecouteur sur la combo des lettres.

    Quand je modifie la lettre de la combo, je la stoke dans une statique, puismon modele va bien me chercher les prenoms de la lettre choisie dans la base.
    Je les ai en display mais je ne reussi pas a les preparer pour que lorsque je cliquerai sur la combobox des prénoms, celle ci ne m'affiche que les prénoms commençant par cette lettre.

    Ma question est : peut on modifier un panel un peu "en dynamique" si vous voyez ce que je veux dire ?
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le problème ne concernant pas le panel, je vois pas pourquoi vous voudriez le changer.

    Ensuite, pour modifier le contenu d'un ComboBox, utilisez les méthode de DefaultComboBoxModel. Ce model s'obtiens via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DefaultComboBoxModel dcbm = (DefaultComboBoxModel)comboBox.getModel()

  3. #3
    Membre régulier Avatar de POKOU
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 121
    Points : 101
    Points
    101
    Par défaut
    Bonjour
    Si ça ne concerne pas le Panel, alors je crois que ça concerne la Frame.

    Dans un écouteur, j'ai changé le contenu d'une InviteEntry "maison", et je désire rafraichir la Frame pour qu'elle prenne en compte le nouveau contenu (potentiel car je n'ai pas encore cliqué dessus) de mon InviteEntry (UTJInviteEntry) dans mon code ci-dessous:
    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
    //poser un ecouteur sur la combo du groupe de CreationCourrierPanel    
    	groupeCourriersCbk.addActionListener(new java.awt.event.ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    System.out.println("CreationCourrierPanel dans ecouteur getGroupeCourriers()=" + getGroupeCourriers());
    			String[] columnNames = {"Code", "Libelle"};
    			int[] types = {UTJTable.TYPE_ALPHA, UTJTable.TYPE_ALPHA};
    			int[] taillesColonnes = {5,40};
    			int[] decim = {0,0};
    			int[] aligns = {SwingConstants.LEFT, SwingConstants.LEFT};
    			boolean[] zeroesView = {false, false};
    			UTJTable table = new UTJTable(columnNames, types, taillesColonnes, decim, aligns, zeroesView);
    			typeDocIE = new UTJInviteEntry("Choix du type de document", table,
    			  TypeDocument.getListeDocumentsParGroupe((String)groupeCourriersCbk.getSelectedKey()), 0, 1, new UTKeyedItemString());
    System.out.println("CreationCourrierPanel dans ecouteur avant return TypeDocument.getListeDocumentsParGroupe(codeGroupe)=" + TypeDocument.getListeDocumentsParGroupe((String)groupeCourriersCbk.getSelectedKey()));
    			detailPanel.add(typeDocIE, new GridBagConstraints(1, 2, 2, 1, 1.0, 50.0
    					,GridBagConstraints.WEST, GridBagConstraints.WEST, new Insets(5, 5, 5, 5), 0, 0));
    			System.out.println("CreationCourrierPanel dans ecouteur avant refreshlabel"); 
    	là j'ai essayé plein de trucs comme frame.refresh() ...;
    		}
    Si vous avez une piste
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.

  4. #4
    Membre régulier Avatar de POKOU
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 121
    Points : 101
    Points
    101
    Par défaut
    merci tchize_

    En résumé:
    l'objet que j'ai créé dans mon ecouteur n'en sortait pas.
    je n'avait pas fait pointer l'objet de ma Classe vers ce nouvel objet, donc rien ne se passsait.
    J'ai alors ajouté un setData et tout s'affiche.

    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
    //  poser un ecouteur sur la combo du groupe de CreationCourrierPanel    
    	groupeCourriersCbk.addActionListener(new java.awt.event.ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			System.out.println("CreationCourrierPanel dans ecouteur getGroupeCourriers()=" + getGroupeCourriers());
    			String[] columnNames = {"Code", "Libelle"};
    			int[] types = {UTJTable.TYPE_ALPHA, UTJTable.TYPE_ALPHA};
    			int[] taillesColonnes = {5,40};
    			int[] decim = {0,0};
    			int[] aligns = {SwingConstants.LEFT, SwingConstants.LEFT};
    			boolean[] zeroesView = {false, false};
    			UTJTable table = new UTJTable(columnNames, types, taillesColonnes, decim, aligns, zeroesView);
    			UTJInviteEntry typeDocIE2 = new UTJInviteEntry("Choix du type de document", table,
    					TypeDocument.getListeDocumentsParGroupe((String)groupeCourriersCbk.getSelectedKey()), 0, 1, new UTKeyedItemString());
    			typeDocIE.setData(typeDocIE2.getData());
    			System.out.println("ppp=" + typeDocIE2.getData().toString());
    		}
    	});
    en route pour de nouvelles aventure
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.

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

Discussions similaires

  1. Comment créer plusieur instance d'une class
    Par zyaya dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/12/2010, 14h01
  2. Comment indexer les instances d'une classe
    Par 123djimy dans le forum Débuter
    Réponses: 5
    Dernier message: 25/10/2010, 03h19
  3. Comment modifier un contrôle depuis une classe ?
    Par pot2yaourt dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/07/2009, 15h01
  4. comment obtenir l'instance d'une classe
    Par JCD21 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 27/06/2008, 22h26
  5. comment trier les instances d'une classe selon un attribut choisi
    Par rddev dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 29/05/2007, 00h01

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