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

Composants Java Discussion :

Problème JPanel et JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Par défaut Problème JPanel et JTable
    Bonsoir,

    J'aimerais lors du clic sur un JButton, enlever un panel et en mettre un autre à la place (contenant un JTable remplit par une requête SQL).

    J'arrive bien à enlever le JPanel déjà existant, le problème vient pour mettre le JPanel contenant mon tableau.

    Une idée ?? Merci d'avance.

    Mon code, j'ai volontairement enlevé quelques lignes :
    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
    private void listeReservationActionPerformed(ActionEvent evt) {
            try {
                Statement stmt = Connexion.getStatement();
                ResultSet reservation = stmt.executeQuery("SELECT ... FROM ... ;");
                String col[] = {"Date de début", ...};
                String cont[][];
                cont = new String[50][8];
                int i = 0;
                while (reservation.next()) {
                    String dateDeb = reservation.getString("dateDebut");
                    ...
                    cont[i][0] = dateDeb;
                    cont[i][1] = dateFin;
                    ...
                    i++;
                }
                DefaultTableModel model = new DefaultTableModel(cont, col);
                JTable table = new JTable(model);
                (table.getColumnModel().getColumn(0)).setPreferredWidth(140);// largeur des colonnes
                (table.getColumnModel().getColumn(1)).setPreferredWidth(140);
                (table.getColumnModel().getColumn(2)).setPreferredWidth(140);
                (table.getColumnModel().getColumn(3)).setPreferredWidth(140);
                (table.getColumnModel().getColumn(4)).setPreferredWidth(140);
                (table.getColumnModel().getColumn(5)).setPreferredWidth(120);
                (table.getColumnModel().getColumn(6)).setPreferredWidth(120);
                (table.getColumnModel().getColumn(7)).setPreferredWidth(180);
                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);// pour le scroll horizontal
                table.setShowGrid(true);
                table.setShowVerticalLines(true);
                JScrollPane pane = new JScrollPane(table);
                panelListeReservation.add(pane);
                panelAjoutModMachine.setVisible(false);
                this.add(panelListeReservation);
                this.setVisible(true);
            } catch (SQLException ex) {
            }
        }

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    Bonjour,

    C'est quoi ton Layout?

    une methode, pas la meilleure consiste à remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    panelAjoutModMachine.setVisible(false);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.remove(panelAjoutModMachine);
    Sinon une methode plus propre regarde CardLayout

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Par défaut
    En fait en faisant panelAjoutModMachine.setVisible(false); le panel s'enlève bien. C'est pour afficher l'autre où ça ne fonctionne pas.

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    Bonjour,

    Oui j'ai bien compris le problème, le truc c'est qu'avec un setVisible(false) après l'affichage, si tu mets autre chose (ici ton autre JPanel) il ne remplace pas la place du premier. Il faut l'enlever avec remove().

    As tu essayé ma proposition?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Par défaut
    Oui j'ai essayé mais sans succès.

  6. #6
    Membre chevronné
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Par défaut
    Bonsoir
    Il faut mettre a jour ton composant avec la méthode monPanel.repaint();

Discussions similaires

  1. Problème avec ma JTable
    Par DreammyKetty dans le forum Débuter
    Réponses: 13
    Dernier message: 27/03/2008, 14h14
  2. [Form Builder] problème de JPanel et JTable
    Par syrius31 dans le forum NetBeans
    Réponses: 2
    Dernier message: 19/07/2007, 15h47
  3. Problème d'interaction JTable (états)
    Par Paranoid-Android dans le forum Composants
    Réponses: 4
    Dernier message: 10/05/2007, 15h33
  4. Problème avec une JTable
    Par Spinoza23 dans le forum AWT/Swing
    Réponses: 34
    Dernier message: 08/02/2007, 21h06
  5. Problèmes avec une JTable
    Par Fab916 dans le forum Composants
    Réponses: 4
    Dernier message: 12/01/2006, 15h11

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