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 :

TableRowSorter et Java 5


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut TableRowSorter et Java 5
    Bonjour,

    Je veux utiliser les nouvelles fonctions de Java 6 telles que le TableRowSorter dans mon application tout en la laissant compatible avec Java 5. J'ai essayé avec le package reflection mais sans succès. Qu'est-ce qui ne va pas dans mon 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
      public static void addRowSorter(JTable table, TableModel model) {
        //table.setRowSorter(new TableRowSorter<TableModel>(model));
        try {
          Class tableRowSorterClass = Class.forName("javax.swing.table.TableRowSorter");
          Constructor ctor = tableRowSorterClass.getConstructor(new Class[] { TableModel.class });
          Object rowSorter = ctor.newInstance(model);
          Method method = table.getClass().getMethod("setRowSorter", new Class[] { tableRowSorterClass });
          method.invoke(table, new Object[] { rowSorter });
        } catch (ClassNotFoundException e) {
          log.debug("ClassNotFoundException: " + e.getMessage());
          // Nothing to be done, JVM < 6
        } catch (NoSuchMethodException e) {
          log.error("NoSuchMethodException: " + e.getMessage());
        } catch (InvocationTargetException e) {
          log.error("InvocationTargetException: " + e.getMessage());
        } catch (IllegalAccessException e) {
          log.error("IllegalAccessException: " + e.getMessage());
        } catch (ClassCastException e) {
          log.error("ClassCastException: " + e.getMessage());
        } catch (Throwable e) {
          log.error("Throwable: " + e.getClass().getName() + " - " + e.getMessage());
        }
      }
    Résultat: NoSuchMethodException: javax.swing.JTable.setRowSorter(javax.swing.table.TableRowSorter)

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Normal, la méthode setRowSorter prend en paramètre un RowSorter et non un TableRowSorter, cf javadoc

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Merci, je me disais bien que c'était une erreur bête mais je tournais en rond sans trouver.

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

Discussions similaires

  1. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 20h17
  2. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum Développement
    Réponses: 2
    Dernier message: 14/08/2002, 11h44
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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