Witam
Chciałbym wyświetlać tą samą tabele w 2 różnych panelach. Efekt jaki chcę osiągnąć to aby dwie pierwsze kolumny tabeli były zawsze widoczne natomiast pozostałe były scrollowalne.
Pierwszym pomysłem było:
JTable table = ...
JScrollPane scrollPane = new JScrollPane();
scrollPane.setRowHeaderView(table); //szerokosc bym ustawil na 2 pierwsze kolumny
scrollPane.setViewportView(table); //scrollowanie bym ustawil od 3 do ostatniej kolumny
Nie działa (wyświetla tylko drugi ustawiony widok)
Drugim:
JTable table = ...
JScrollPane scrollPaneHeader = new JScrollPane();
JScrollPane scrollPaneCenter = new JScrollPane();
scrollPaneHeader.setViewportView(table); //scrollowanie bym ustawił na 2 pierwsze kolmny
scrollPaneCenter.setViewportView(table); //scrollowanie bym ustawil od 3 do ostatniej kolumny
// + synchronizacja suwaków
Nie działa (wyświetla tablę tylko w drugim JScrollPane)
Trzecim:
//Stworzyć nowa instancję JTable i pobrać model (getModel()) z pierwsze tabeli
Ale tego nie chce mi się robić bo musiałbym dodatkowo zadbać o identyczne sortowania, zaznaczania komórek i pewnie jeszcze jakieś głupoty.
Czy naprawdę nie jest możliwe wyświetlanie tej samej tabeli w dwóch widokach?
Ewentualnie jak szybko, łatwo i przyjemnie rozwiązać mój problem?
Z góry dziękuje za pomoc.