Problem z wyborem zaznaczonego wirsza po sortowaniu.

0

Mam tabelkę:

String[] nag={"Imie Nazwisko:","Hasło:"};
final JFrame frame = new JFrame("Personel");

która uzupełniam danymi:

personnel = new ArrayList<Pracownik>(EmployeeListDecorator.readList(fileName));
final String[][] dane=new String[personnel.size()][3];
      for (int i=0;i<personnel.size();i++)
          for (int j=0;j<3;j++)
            {
            dane[i][0]=personnel.get(i)._imie;
            dane[i][1]=personnel.get(i)._haslo;
            }

      TableModel model = new DefaultTableModel(dane, nag)
                            {
                             public Class getColumnClass(int column)
                                {
                                 Class returnValue;
                                 if ((column >= 0) && (column < getColumnCount()))
                                    {returnValue = getValueAt(0, column).getClass();}
                                 else {returnValue = Object.class; }
                                 return returnValue;
                                }
                             };
     table = new JTable(model);
     //-------------------------------------------------------------------------
     final RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
     table.setRowSorter(sorter);
     js = new JScrollPane(table);

Teraz mam tez metode zaznaczania wierszy myszka:

table.addMouseListener(new MouseAdapter()
            {
           public void mouseClicked(final MouseEvent e)
                {                                                                                 
                if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 1)
                    {
                     JTable tabela=(JTable)(e.getSource());
                     index_do_usuniecia=tabela.getSelectedRow();   

                     // Wyswietlanei wybranego rekordu
                     pole_pracownik.setText(personnel.get(index_do_usuniecia)._imie);
                     pole_haslo.setText(personnel.get(index_do_usuniecia)._haslo);
           
                    }
                };
            });

I wszystkoe jest ok, zaczyan sie psuc gdy porortuje table, wybieraja sie wiersze z tabeli a nie z tego co widze Załózmy ze mam 5 tekordow kolejno
1
2
3
4
5
Gdy klikne na tebn z watoscia 4 wybiera sie 4ty i jest ok
Jednak gdzy posortuje
5
4
3
2
1
I klikne na ten z warosicia 2gi to dalej wybiera sie 4ty ;/

wiem ze mam zly wybor zaznaczonegowirsz i powinienem uzyc :
convertRowIndexToModel() oraz convertRowIndexToView() z klasy JTable

Ale nie mam pojecia jak to zrobic, troche czasu juz zmarnowalem. Prosze o pomoc jakis przykald moze cokolwiek Dzieki

0
    .....
     int index=tabela.getSelectedRow();
     if(index==-1) // nic nie jest zaznaczone
     {
          return;
     }
     index=tabela.convertRowIndexToModel(index); // jeżeli tabelę mozna sortować
0

Super dzięki wielkie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1