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 :

JTable problème pour changer l'entête du tableau plus d'une fois


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 21
    Points
    21
    Par défaut JTable problème pour changer l'entête du tableau plus d'une fois
    Bonjour,

    j'ai importé dans un JTable le contenu d'une base de donnée. Suite à ça j'ai voulu changer le nom des entête en fonction de la date saisie.

    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.getColumn("LUNDI").setHeaderValue("LUNDI" + sdf.format(calendar.getTime()));
    Le problème se pose si je veux rechanger le nom du même entête en gros si je fais deux fois ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    table.getColumn("LUNDI").setHeaderValue("LUNDI" + sdf.format(calendar.getTime()))
    table.getColumn("LUNDI").setHeaderValue("LUNDI" + sdf.format(calendar.getTime()));
    Ça plante J'ai pensé que comme je changeais le nom du header c'était peut être normal du coup j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.getColumn(table.getColumnName(2)).setHeaderValue("MARDI " + sdf.format(calendar.getTime()));
    pensant que ça résoudrait le problème mais... non...

    Si quelqu'un a une idée je suis preneur

    Ci-dessous le message d'erreur que j'obtiens si ça parle à quelqu'un :
    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
    <<Exception in thread "AWT-EventQueue-0" 2014/01/13
    java.lang.IllegalArgumentException: Identifier not found
    	at javax.swing.table.DefaultTableColumnModel.getColumnIndex(Unknown Source)
    	at javax.swing.JTable.getColumn(Unknown Source)
    	at menus.PlanificationMenu$1.propertyChange(PlanificationMenu.java:492)
    	at java.beans.PropertyChangeSupport.fire(Unknown Source)
    	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    	at java.awt.Component.firePropertyChange(Unknown Source)
    	at com.toedter.calendar.JTextFieldDateEditor.setDate(Unknown Source)
    	at com.toedter.calendar.JTextFieldDateEditor.setDate(Unknown Source)
    	at com.toedter.calendar.JDateChooser.setDate(Unknown Source)
    	at com.toedter.calendar.JDateChooser.propertyChange(Unknown Source)
    	at java.beans.PropertyChangeSupport.fire(Unknown Source)
    	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    	at java.awt.Component.firePropertyChange(Unknown Source)
    	at javax.swing.JComponent.firePropertyChange(Unknown Source)
    	at com.toedter.calendar.JDayChooser.setDay(Unknown Source)
    	at com.toedter.calendar.JDayChooser.actionPerformed(Unknown Source)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$200(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue$4.run(Unknown Source)
    	at java.awt.EventQueue$4.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)>>

    Merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Voici un exemple qui fonctionne :

    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
    public static void main(String[] args) {
     
      JFrame frame = new JFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
      JPanel panel=new JPanel();
      panel.setLayout(new BorderLayout());
     
      final JTable table = new JTable(new String[][] {
      		{ "L1C1", "L1C2" },
      		{ "L2C1", "L2C2" },
      		{ "L3C1", "L3C2" }
      }, new String[]{
      		"Column 1",
      		"Column 2",
      });
      table.setFillsViewportHeight(true);
      panel.add(new JScrollPane(table), BorderLayout.CENTER);
      panel.add(table.getTableHeader(), BorderLayout.NORTH);
     
      JPanel panelButton = new JPanel();
      panelButton.setLayout(new GridLayout(0, 2));
      JButton button1 = new JButton("Label 1");
      button1.addActionListener(new ActionListener() {
      	@Override
      	public void actionPerformed(ActionEvent e) {
      		table.getColumnModel().getColumn(table.convertColumnIndexToView(1)).setHeaderValue("Label 1");
      		table.getTableHeader().repaint();
      	}
      });
      JButton button2 = new JButton("Label 2");
      button2.addActionListener(new ActionListener() {
      	@Override
      	public void actionPerformed(ActionEvent e) {
      		table.getColumnModel().getColumn(table.convertColumnIndexToView(1)).setHeaderValue("Label 2");
      		table.getTableHeader().repaint();
      	}
      });
      panelButton.add(button1);
      panelButton.add(button2);
      panel.add(panelButton, BorderLayout.SOUTH);
     
      frame.getContentPane().add(panel);
     
      frame.setSize(200, 200);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
     
    }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 21
    Points
    21
    Par défaut PARFAIT :)
    Merci beaucoup,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.getColumnModel().getColumn(table.convertColumnIndexToView(1)).setHeaderValue("Label 1");
    ce bout de code a parfaitement résolu mon problème
    je passais pas par le .getColumnModel() à mon avis le problème devais venir de là.
    Merci encore, j'en pouvais plus d'avoir ces log d'erreur rouge à chacune de mes tentatives
    Bonne soirée

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

Discussions similaires

  1. [vb2005] problème pour changer de tabpage
    Par marc_dd dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/10/2006, 15h11
  2. Problème pour centrer verticalement dans un tableau
    Par navis84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 18/07/2006, 16h56
  3. Problème pour changer les cartes d'un CardLayout
    Par vallica dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 29/11/2005, 14h38
  4. [JTable] Problème pour rafraichir
    Par jaoued dans le forum Composants
    Réponses: 3
    Dernier message: 20/07/2005, 15h21
  5. Problème pour changer la forme du curseur
    Par Amara dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 18/05/2005, 11h37

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