2011-11-28 13 views
10

Próbuję utworzyć tabelę JTable, która po prostu wyświetla dane i nie zezwala na żadne zmiany ani wybory. Ustawiłem wszystkie komórki na nieredukowalne, uruchamiając:Ustaw wszystkie komórki JTable nie można wybrać

TableModel model = new DefaultTableModel(data, titles) { 
    public boolean isCellEditable(int rowIndex, int mColIndex) { 
     return false; 
    } 
}; 

Ale teraz próbuję również uniemożliwić wybieranie wszystkich komórek. Znalazłem metodę setRowSelectionAllowed, która pozwoliła mi wyłączyć cały wiersz wybrany podczas wybierania komórki, ale to nie powstrzymało wyboru komórki. Przejrzałem metody DefaultTableModel, ale nie widziałem żadnej metody isCellSelectable. Jakieś sugestie?

Odpowiedz

18

Oprócz zwrotu false z isCellEditable(), dodaj te inwokacje.

table.setFocusable(false); 
table.setRowSelectionAllowed(false); 
+0

To jest idealne! Dzięki! – BitFiber

Powiązane problemy