2014-06-26 2 views
0

J'ai créé jtable dans Netbeans.Jtable tri des valeurs entières

tableMalzeme.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] { 
    {null, null, null, null}, 
    {null, null, null, null}, 
    {null, null, null, null}, 
    {null, null, null, null} 
}, 
new String [] { 
    "Title 1", "Title 2", "Title 3", "Title 4" 
} 
) { 
boolean[] canEdit = new boolean [] { 
    false, false, false, false 
}; 

public boolean isCellEditable(int rowIndex, int columnIndex) { 
    return canEdit [columnIndex]; 
} 
}); 

Je veux trier numériquement. La valeur par défaut de "getColumnClass" est "Object" mais je veux changer cette valeur. Comment le faites-vous?

tableMalzeme.setModel(DbUtils.resultSetToTableModel(resultSet));    
tableMalzeme.setAutoCreateRowSorter(true); 
tableMalzeme.getColumnClass(0).cast(Integer.class); 
+0

ne pouvaient pas faire du sens à partir de votre question, SORRY! Mais, cela vous dérangerait-il de nous aider à mieux comprendre le problème? –

+0

Que voulez-vous trier numériquement? –

+0

Je veux trier le jtable. – user3399540

Répondre

2

triés en tant que chaîne, mais je veux trier comme un entier

Vous devez:

  1. Ajouter Integer objets à la TableModel
  2. Remplacer la classe getColumnClass(...) méthode pour retourner Intgeger.class pour la colonne qui contient des entiers.
+0

Je ne peux pas remplacer le "getColumnClass" en utilisant "DefaultTableModel". Comment puis-je le remplacer en utilisant "DefaultTableModel" – user3399540

+0

Vous ne savez pas ce que vous voulez dire. Vous savez comment remplacer une méthode d'une classe puisque vous avez déjà posté du code montrant comment vous avez remplacé une partie de la méthode. Il suffit donc d'ajouter un remplacement pour la méthode getColumnClass(). Vous pouvez lire le tutoriel Swing ou rechercher des exemples sur le forum. Je ne connais pas la structure de votre table, donc je ne peux pas vous dire comment remplacer la méthode. – camickr

0

Essayez ce code (espérons que c'est ce que vous cherchez):

(Integer)(tableMalzeme.getColumnClass(0)); 
+0

ne sais pas où vous voulez ajouter cette ligne - ne peut pas penser à un endroit approprié (c'est le modèle lui-même qui doit décider de ses types) – kleopatra