Question : Comment résoudre les types incompatibles erreur dans TableSorter.java ?

salut tous,
i AM essayant de corriger un bogue dans notre application existante de j2ee. c'est un GUI $$etAPP d'ordinateur de bureau. j'ai ouvert lui dans Jdeveloper et l'essai au complie il mais j'ai obtenu l'erreur comme ce qui suit :
Error (148.74) : types incompatibles ; trouvé : classe java.lang. ClassNumber>, requis : classe java.lang. Class< ? superbe ? prolonge java.lang. Object>
Error (169.74) : types incompatibles ; trouvé : classe java.lang. ClassNumber>, requis : classe java.lang. Class< ? superbe ? prolonge java.lang. Les erreurs d'Object>

those se produisent dans TableSorter.java, qui a lieu de Sun, copyright est 2002.

how peuvent moi résoudre ce problème ? peut-être je manque une bibliothèque ?

thanks beaucoup
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 :
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 :
162 :
163 :
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 :
172 :
173 :
174 :
175 :
176 :
177 :
178 :
179 :
180 :
181 :
182 :
183 :
184 :
185 :
186 :
187 :
188 :
189 :
190 :
191 :
192 :
193 :
194 :
195 :
196 :
197 :
198 :
199 :
200 :
201 :
202 :
203 :
204 :
205 :
206 :
207 :
208 :
209 :
210 :
211 :
212 :
213 :
214 :
215 :
216 :
217 :
218 :
219 :
220 :
221 :
222 :
223 :
224 :
225 :
226 :
227 :
228 :
229 :
230 :
231 :
232 :
233 :
234 :
235 :
236 :
237 :
238 :
239 :
240 :
241 :
242 :
243 :
244 :
245 :
246 :
247 :
248 :
249 :
250 :
251 :
252 :
253 :
254 :
255 :
256 :
257 :
258 :
259 :
260 :
261 :
262 :
263 :
264 :
265 :
266 :
267 :
268 :
269 :
270 :
271 :
272 :
273 :
274 :
275 :
276 :
277 :
278 :
279 :
280 :
281 :
282 :
283 :
284 :
285 :
286 :
287 :
288 :
289 :
290 :
291 :
292 :
293 :
294 :
295 :
296 :
297 :
298 :
299 :
300 :
301 :
302 :
303 :
304 :
305 :
306 :
307 :
308 :
309 :
310 :
311 :
312 :
313 :
314 :
315 :
316 :
317 :
318 :
319 :
320 :
321 :
322 :
323 :
324 :
325 :
326 :
327 :
328 :
329 :
330 :
331 :
332 :
333 :
334 :
335 :
336 :
337 :
338 :
339 :
340 :
341 :
342 :
343 :
344 :
345 :
346 :
347 :
348 :
349 :
350 :
351 :
352 :
353 :
354 :
355 :
356 :
357 :
358 :
359 :
360 :
361 :
362 :
363 :
364 :
365 :
366 :
367 :
368 :
369 :
370 :
371 :
372 :
373 :
374 :
375 :
376 :
377 :
378 :
379 :
380 :
381 :
382 :
383 :
384 :
385 :
386 :
387 :
388 :
389 :
390 :
391 :
392 :
393 :
394 :
395 :
396 :
397 :
398 :
399 :
400 :
401 :
402 :
403 :
404 :
405 :
406 :
407 :
408 :
409 :
410 :
411 :
412 :
413 :
414 :
415 :
416 :
417 :
418 :
419 :
420 :
421 :
422 :
423 :
424 :
425 :
426 :
427 :
428 :
429 :
430 :
431 :
432 :
433 :
434 :
435 :
436 :
437 :
438 :
439 :
440 :
441 :
442 :
443 :
444 :
445 :
446 :
447 :
448 :
449 :
450 :
451 :
452 :
453 :
454 :
455 :
456 :
457 :
458 :
459 :
460 :
461 :
462 :
463 :
464 :
465 :
466 :
467 :
468 :
469 :
470 :
471 :
472 :
473 :
474 :
475 :
476 :
477 :
478 :
479 :
480 :
481 :
482 :
483 :
484 :
485 :
486 :
487 :
488 :
489 :
490 :
491 :
492 :
493 :
494 :
495 :
496 :
497 :
498 :
499 :
500 :
501 :
502 :
503 :
504 :
505 :
506 :
507 :
508 :
509 :
510 :
511 :
512 :
513 :
514 :
515 :
516 :
517 :
518 :
519 :
520 :
521 :
522 :
523 :
524 :
525 :
526 :
527 :
528 :
529 :
530 :
531 :
532 :
533 :
534 :
535 :
536 :
537 :
538 :
539 :
540 :
541 :
542 :
543 :
544 :
545 :
546 :
547 :
548 :
549 :
550 :
551 :
552 :
553 :
554 :
555 :
556 :
557 :
558 :
559 :
560 :
561 :
562 :
563 :
564 :
565 :
566 :
567 :
568 :
569 :
570 :
571 :
572 :
573 :
574 :
575 :
576 :
577 :
578 :
579 :
580 :
581 :
582 :
583 :
584 :
585 :
586 :
587 :
588 :
589 :
590 :
591 :
592 :
593 :
594 :
595 :
class= >/* " notpretty " de l'id= " codeSnippet736807 " de
 d2)
                retour 1 ;
            autrement
                retour 0 ;
        }
        autrement si (type == java.util. Date.class)
        {
            Date d1 = (date) data.getValueAt (row1, colonne) ;
            long n1 = d1.getTime () ;
            Dater d2 = (date) data.getValueAt (row2, colonne) ;
            long N2 = d2.getTime () ;
            
            si (n1 < N2)
                renvoyer -1 ;
            autrement si (n1 > N2)
                retour 1 ;
            retour d'autre 0 ;
        }
        autrement si (type == String.class)
        {
            Ficeler S1 = ((corde) data.getValueAt (row1, la colonne)).toLowerCase () ;
            Ficelle s2 = ((corde) data.getValueAt (row2, la colonne)).toLowerCase () ;
            résultat d'international = s1.com Pareto (s2) ;
            si (résultat < 0)
                renvoyer -1 ;
            autrement si (résultat > 0)
                retour 1 ;
            retour d'autre 0 ;
        }
        autrement si (type == Boolean.class)
        {
            Booléen bool1 = data.getValueAt (booléen) (row1, colonne) ;
            booléen b1 = bool1.booleanValue () ;
            Booléen bool2 = data.getValueAt (booléen) (row2, colonne) ;
            booléen b2 = bool2.booleanValue () ;
            
            si (b1 == b2)
                retour 0 ;
            autrement si (b1) // définissent faux < rectifier
                retour 1 ;
            autrement
                renvoyer -1 ;
        }
        autrement
        {
            Objet v1 = data.getValueAt (row1, colonne) ;
            Ficeler S1 = v1.toString () .toLowerCase () ;
            Objecter v2 = data.getValueAt (row2, colonne) ;
            Ficeler s2 = v2.toString () .toLowerCase () ;
            résultat d'international = s1.com Pareto (s2) ;
            
            si (résultat < 0)
                renvoyer -1 ;
            autrement si (résultat > 0)
                retour 1 ;
            retour d'autre 0 ;
        }
    }
    
    le public international compare (international row1, international row2)
    {
        compares++ ;
        pour (niveau d'international = 0 ; niveau < sortingColumns.size () ; level++)
        {
            Colonne de nombre entier = (nombre entier) sortingColumns.elementAt (de niveau) ;
            résultat d'international = compareRowsByColumn (row1, row2, column.intValue ());
            si (résultat ! = 0)
                monter de retour ? résultat : - résultat ;
        }
        retour 0 ;
    }
    
    reallocateIndexes vides de public ()
    {
        rowCount d'international = model.getRowCount () ;
        
        // a installé un nouveau choix d'index avec le bon nombre d'éléments
        // pour le nouveau modèle de données.
        index = nouvel international [rowCount] ;
        
        // initialisent avec la cartographie d'identité.
        pour (rangée d'international = 0 ; rangée < rowCount ; row++)
            index [rangée] = rangée ;
    }
    
    le vide de public tableChanged (TableModelEvent e)
    {
        si (! modification)
        {
            reallocateIndexes () ;
            Les données de Tableau de // ont changé.  Forcer une ressource.
            sorte (ceci) ;
            super.tableChanged (e) ;
        }
    }
    
    checkModel vide de public ()
    {
        si (indexes.length ! = model.getRowCount ())
        {
            System.err.println (« trieuse non informée d'un changement de model.") ;
        }
    }
    
    sorte vide de public (expéditeur d'objet)
    {
        checkModel () ;
        
        compare = 0 ;
        //n2sort () ;
        qsort de // (0, indexes.length-1) ;
        shuttlesort ((international []) indexes.clone (), index, 0, indexes.length) ;
        //mysort () ;
    }
    
    public n2sort vides ()
    {
        pour (international i = 0 ; i < getRowCount () ; i++)
        {
            pour (international j = i+1 ; j < getRowCount () ; j++)
            {
                si (comparer (index [I], index [j]) == -1)
                {
                    permuter (I, j) ;
                }
            }
        }
    }
    
    // ceci est une exécution du pays que nous n'avons pas eu le temps
    // à la recherche - elle peut exécuter mal dans quelques circonstances. Il
    // exige deux fois l'espace d'un algorithme sur place et le fait
    Assigments de // NlogN faisant la navette les valeurs entre les deux
    rangées de //. Le nombre de compare semble varier entre N-1 et
    // NlogN selon l'ordre initial mais la raison principale de
    // using ce voici que, à la différence de qsort, il est stable.
    shuttlesort vide de public (international de [], international à [], international bas, international haut)
    {
        si (< 2) haut-bas
        {
            retour ;
        }
        milieu d'international = (le bas + haut) /2 ;
        shuttlesort (à, de, bas, moyen) ;
        shuttlesort (à, de, milieu, hauts) ;
        
        international p = bas ;
        international q = milieu ;
        
        /* ceci est un raccourci facultatif ; à chaque appel récursif,
        vérifier pour voir si les éléments dans ce sous-ensemble sont déjà
        passé commande.  Si oui, aucune autre comparaison n'est nécessaire ; 
        secondaire-ranger peut juste être copié.  La rangée doit être copiée plutôt
        qu'autrement assignés des appels de soeur dans la récursion pourrait
        sortir du sinc.  Quand le nombre d'éléments est trois ils
        sont divisés de sorte que le premier ensemble, [bas, mi), ait un
        l'élément et et la seconde, [mi, haut), a deux. Nous sautons
        optimisation quand le nombre d'éléments est trois ou moins As
        les premiers comparent dans la fusion normale produiront la même chose
        ordre des étapes. Cette optimisation semble être valable
        pour partiellement des listes numérotées mais une certaine analyse est nécessaire
        découvrir comment l'exécution chute à Nlog (N) comme initiale
        l'ordre diminue - il peut chuter très rapidement.  *
        /*
        si (&& haut-bas de >= 4 comparent (de [middle-1], de [milieu]) <= 0)
        {
            pour (international i = bas ; i < haut ; i++)
            {
                [I] = de [I] ;
            }
            retour ;
        }
         **/
        
        Fusion normale de // A.
        
        pour (international i = bas ; i < haut ; i++)
        {
            si (>= de q haut || (p < && moyen comparent (de [p], de [q]) le <= 0))
            {
                [I] = de [p++] ;
            }
            autrement
            {
                [I] = de [q++] ;
            }
        }
    }
    
    mysort vide de public ()
    {
        pour (international i = 0 ; i < indexes.length - 1 ; i++)
        {
            pour (international j = I + 1 ; j < indexes.length ; j++)
            {
                si (montant)
                {
                    si (comparer (index [I], index [j]) < 0)
                    {
                        permuter (I, j) ;
                    }
                }
                autrement
                {
                    si (comparer (index [I], index [j]) > 0)
                    {
                         permuter (I, j) ;
                    }
                }
            }
        }
    }
    
    échange de vide de public (international i, international j)
    {
        tmp d'international = index [I] ;
        index [I] = index [j] ;
        index [j] = tmp ;
    }
    
    getIndex du public international [] ()
    {
        index de retour ;
    }
    
    // la cartographie affecte seulement le contenu des rangées de données.
    Passage de // toutes les demandes à ces rangées par la rangée de cartographie : « indexe ».
    
    getValueAt public d'objet (international aRow, aColumn d'international)
    {
        checkModel () ;
        model.getValueAt de retour (index [aRow], aColumn) ;
    }
    
    setValueAt vide de public (aValue d'objet, international aRow, aColumn d'international)
    {
        checkModel () ;
        model.setValueAt (aValue, index [aRow], aColumn) ;
    }
    
    sortByColumn vide de public (colonne d'international)
    {
        sortByColumn (la colonne, rectifient) ;
    }
    
    sortByColumn vide de public (colonne d'international, monter booléen)
    {
        sortingColumn = colonne ;
        this.ascending = montant ;
        sortingColumns.removeAllElements () ;
        sortingColumns.addElement (nouveau nombre entier (colonne));
        sorte (ceci) ;
        super.tableChanged (nouveau TableModelEvent (ceci));
    }
    
    // là est nulle part d'autre pour mettre ceci.
    // ajoutent un auditeur de souris au Tableau pour déclencher une sorte de table
    // quand une en-tête de colonne est cliquée dans le JTable.
    addMouseListenerToHeaderInTable vide de public (table de JTable)
    {
        trieuse finale de TableSorter = ceci ;
        tableView = table finaux de JTable ;
        tableView.setColumnSelectionAllowed (faux) ;
        listMouseListener de MouseAdapter = nouveau MouseAdapter ()
        {
            le vide de public mouseClicked (MouseEvent e)
            {
                tableView.setCursor (nouveau java.awt. Curseur (java.awt. Cursor.WAIT_CURSOR));
                tableView.getTableHeader () .setCursor (nouveau java.awt. Curseur (java.awt. Cursor.WAIT_CURSOR));
                columnModel de TableColumnModel = tableView.getColumnModel () ;
                viewColumn d'international = columnModel.getColumnIndexAtX (e.getX ());
                colonne d'international = tableView.convertColumnIndexToModel (viewColumn) ;
                //if colonne de && de == 1 (d'e.getClickCount () ! = -1)
                si colonne de && de >= 1 (d'e.getClickCount () ! = -1)
                {
                    international shiftPressed = e.getModifiers () &InputEvent.SHIFT_MASK ;
                    //boolean montant = (== shiftPressed 0) ;
                    monter booléen = == (d'e.getClickCount () 1) ;
                    editable booléens = rectifient ;
                    la modification = rectifient ;
                    s'instanceof DataTableModel (de tableView.getModel ())
                    {
                        editable = ((DataTableModel) tableView.getModel ()).getCellEditable () ;
                        ((DataTableModel) tableView.getModel ()).setCellEditable (vrai) ;
                    }
                    
                    // recherchent des données du modèle
                    Objecter [] [] rowData = nouvel objet [tableView.getModel () .getRowCount ()][tableView.getModel () .getColumnCount ()];
                    pour (international i = 0 ; i < tableView.getModel () .getRowCount () ; i++)
                    {
                        pour (international j = 0 ; j < tableView.getModel () .getColumnCount () ; j++)
                        {
                            rowData [I] [j] = tableView.getModel () .getValueAt (I, j) ;
                            //System.out.print (rowData [I] [j] + « ") ;
                        }
                        System.out.println () ;
                    }
                    reallocateIndexes () ;
                    selectedRow d'international = tableView.getSelectedRow () ;
                    sorter.sortByColumn (colonne, montant) ;
                    
                    // placent maintenant des données dans le modèle par index
                    pour (international i = 0 ; i < tableView.getModel () .getRowCount () ; i++)
                    {
                        pour (international j = 0 ; j < tableView.getModel () .getColumnCount () ; j++)
                        {
                            tableView.getModel () .setValueAt (rowData [index [I]] [j], I, j) ;
                        }
                        si (selectedRow de == d'index [I])
                        {
                            essai
                            {
                                tableView.setRowSelectionInterval (I, i) ;
                                
                                
                            }
                            crochet (IllegalArgumentException excepté)
                            {
                                // ne font rien
                            }
                        }
                    }
                    
                    s'instanceof DataTableModel (de tableView.getModel ())
                    {
                        ((DataTableModel) tableView.getModel ()).setCellEditable (editable) ;
                    }
                    modification = faux ;
                    tableView.validate () ;
                    
                }
                tableView.getTableHeader () .repaint () ;
                tableView.setCursor (java.awt. Cursor.getPredefinedCursor (java.awt. Cursor.DEFAULT_CURSOR));
                tableView.getTableHeader () .setCursor (java.awt. Cursor.getPredefinedCursor (java.awt. Cursor.DEFAULT_CURSOR));
            }
        } ;
        Th de JTableHeader = tableView.getTableHeader () ;
        th.addMouseListener (listMouseListener) ;
        th.setDefaultRenderer (createDefaultRenderer ());
    }
    
    createDefaultRenderer protégé de TableCellRenderer ()
    {
        Étiquette de DefaultTableCellRenderer =
        nouveau DefaultTableCellRenderer ()
        {
            getTableCellRendererComponent composant public (table de JTable,
            Objecter la valeur, hasFocus isSelected et booléen booléen,
            rangée d'international, colonne d'international)
            {
                si (table ! = nulle)
                {
                    En-tête de JTableHeader = table.getTableHeader () ;
                    si (en-tête ! = nulle)
                    {
                        setForeground (header.getForeground ());
                        setBackground (header.getBackground ());
                        setFont (header.getFont ());
                        si (sortingColumn de == de colonne)
                        {
                            si (montant)
                            {
                                essai
                                {
                                    //setIcon (nouvel ImageIcon (getClass () .getResource (
                                    // " /resources/arrowDown.gif ")));
                                    setIcon (TableHeaderIcon.getArrowDown ());
                                }
                                crochet (exception excepté)
                                {
                                }
                            } autrement
                            {
                                essai
                                {
                                    //setIcon (nouvel ImageIcon (getClass () .getResource (
                                    // " /resources/arrowUp.gif ")));
                                    setIcon (TableHeaderIcon.getArrowUp ());
                                }
                                crochet (exception excepté)
                                {
                                }
                            }
                        } autrement
                        {
                            setIcon (nulle) ;
                        }
                    }
                    
                }
                
                setText ((nulle de == de valeur) ? "" : value.toString ());
                setBorder (UIManager.getBorder (« TableHeader.cellBorder »));
                renvoyer ceci ;
            }
        } ;
        label.setHorizontalAlignment (JLabel.CENTER) ;
        label.setHorizontalTextPosition (SwingConstants.LEFT) ;
        étiquette de retour ;
    }
}
class= de

Réponse : Comment résoudre les types incompatibles erreur dans TableSorter.java ?

cela peut être accompli en tant que ci-dessous,

si nombre d'instanceof (de data.getValueAt (row2, colonne))
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us