Pergunta

Eu sei que JTable pode classificar por uma única coluna. Mas é possível para permitir a classificação por várias colunas ou que eu preciso para escrever o código de mim mesmo?

Foi útil?

Solução

Você pode classificar por várias colunas, especificando mais de uma chave tipo ao chamar setSortKeys na RowSorter você está usando.

Outras dicas

JXTable . JXTable é uma extensão de JTable que triagem suportes de várias colunas, bem como outras funções que não fornece JTable. É livremente disponível a partir JDNC / SwingLabs.

Você deve ser capaz de definir o TableRowSorter eo comparador associado a ele. Exemplo:

TableModel myModel = createMyTableModel();
JTable table = new JTable(myModel);
TableRowSorter t = new TableRowSorter(myModel);
t.setComparator(column that the comparator works against, Comparator<?> comparator);
table.setRowSorter(new TableRowSorter(myModel));

étable da coleção netbeans.
É parte do org-netbeans-swing-outline.jar
Uma pesquisa no google algo a volta por cima. O étable é principalmente uma fundação para Contorno (a TreeTable) mas tem ordenação multi-coluna construído em, bem como muitos outros recursos interessantes

"Eu sei que JTable pode ordenar por uma única coluna. Mas é possível para permitir a coluna múltipla tipo ou eu preciso escrever o código de mim mesmo?"

Tabela de classificação e filtragem é gerido por um objeto classificador. A maneira mais fácil de fornecer um objeto classificador é definir autoCreateRowSorter propriedade associado a true;

JTable table = new JTable();
table.setAutoCreateRowSorter(true);

Esta ação define um classificador de linha que é uma instância de javax.swing.table.TableRowSorter.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top