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 :

[JTabbedPane] Rafraichir tous les onglets


Sujet :

AWT/Swing Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [JTabbedPane][ComboBox] Rafraichir tous les onglets
    Bonjour,
    j'utilise une interface JTabbedPane avec des panels provenant d'autres classes pour faire un système de réservation de cinéma.
    Voici le début du code pour le JTabbedPane.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public CinemaSystemGUI(CinemaSystem c) {
    		cs = c;		
    		JTabbedPane tabbedPane = new JTabbedPane();
    		Component panel1 = new PanAddCinema(c);
    		tabbedPane.addTab("Add a cinema", panel1);
    		tabbedPane.setSelectedIndex(0);
    etc avec les autres onglets
    Mais dans les onglets, il y a des combobox dont le contenu doit changer après certaines actions (les combobox contenant le noms des cinemas doivent être mises à jour dans tous les onglets).
    Comment je peux effecteur cette mise à jour?
    Comme les panels des onglets sont dans des classes séparées, je ne peux pas faire des repaint après chaque actions sur les boutons de validation de chaque onglet par exemple.
    Faut-il placer les repaint ailleurs ou y a-t-il une autre manière de faire?

    J'espère que j'ai réussi à être compréhensible, sinon je préciserai avec plaisir
    il y a une capture de la fenetre en piece jointe

    Merci à tous
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Si ton problème ne concerne que les ComboBox, il faut que tu emploies un ComboBoxModel commun à tous les comboBox et ainsi, tu n'auras pas de problèmes de repaint

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    en effet ça me suffirait...
    quand tu dis modele commun, il faut placer le modele dans une classe séparée?
    pour l'instant j'ai simplement ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (c.CinemaMap.keySet().toArray().length > 0) {
    			c_combo = new JComboBox(new DefaultComboBoxModel(c.CinemaMap.keySet().toArray()));
    			hBox2.add(c_combo);
    		} else {
    			String[] cl0 = { "No Cinema" };
    			c_combo = new JComboBox(cl0);
    			hBox2.add(c_combo);
    		}
    mais la mise à jour ne se fait pas. Faut-il créer un nouveau modele? (L'affichage habituel se fait correctement)
    Merci (désolée si ça parait bete, c'est mon premier travail en java )

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    désolée de faire remonter le sujet, mais je n'ai pas trouvé de tutorial sur les comboboxmodel. Sauriez-vous où en trouver un?

    en ce qui concerne mon problème, est-ce que j'ai besoin d'un listener qui surveille le tableau d'entrée et ses changements ou le comboboxmodel le fait automatiquement?

    Merci

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Peezy
    désolée de faire remonter le sujet, mais je n'ai pas trouvé de tutorial sur les comboboxmodel. Sauriez-vous où en trouver un?

    en ce qui concerne mon problème, est-ce que j'ai besoin d'un listener qui surveille le tableau d'entrée et ses changements ou le comboboxmodel le fait automatiquement?

    Merci
    Tu as quelques infos dans le tutorial de Sun

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    hihi j'avais cherché là...
    j'ai créé une nouvelle classe pour gérer toutes les combobox de cinémas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public CineCombo(CinemaSystem c){
    		cs = c;
    		cineModel = new DefaultComboBoxModel(c.CinemaMap.keySet().toArray());
    		setModel(cineModel);
    		}
    mais la mise à jour ne se fait pas. Je précise que je fais des modifs sur c.CinemaMap (je lui ajoute des éléments), mais pas de addItem sur le modèle.
    Y a til un listener qui fasse comme le ListDataListener mais sur c.CinemaMap.keySet().toArray() (ou plus haut comme c.CinemaMap ou c.CinemaMap.keySet()), qui permette de détecter leurs changements pour mettre à jour la combobox?

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/07/2021, 16h16
  2. Réponses: 2
    Dernier message: 16/06/2008, 14h08
  3. Centrage horizontal et vertical dans tous les onglets
    Par bibvba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/04/2008, 09h30
  4. Enlever les entetes à tous les onglets
    Par jackfred dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/08/2007, 13h59
  5. [VBA Excel] supprimer tous les onglets sauf un
    Par drinkmilk dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/11/2005, 18h11

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