Saltar al contenido

¿Cómo ordenar JTable de la manera más corta?

Si encuentras algo que no comprendes nos puedes dejar un comentario y te ayudaremos rápidamente.

Solución:

Según Cómo usar las tablas: clasificación y filtrado

JTable table = new JTable(tableModel);
TableRowSorter sorter = new TableRowSorter(table.getModel());
table.setRowSorter(sorter);

List sortKeys = new ArrayList<>(25);
sortKeys.add(new RowSorter.SortKey(4, SortOrder.ASCENDING));
sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);

Actualizado

¿Estás seguro de que se arreglará?

…Sí

Mesa

import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.RowSorter;
import javax.swing.SortOrder;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;

public class Test 

    public static void main(String[] args) 
        new Test();
    

    public Test() 
        EventQueue.invokeLater(new Runnable() 
            @Override
            public void run() 
                try 
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                 catch (ClassNotFoundException 
        );
    


Actualizado

Puede extraer los datos de la vista directamente…

 for (int row = 0; row < table.getRowCount(); row++) 
     String people = table.getValueAt(row, 0).toString();
     String place = table.getValueAt(row, 1).toString();
     String organisation = table.getValueAt(row, 2).toString();
     String event = table.getValueAt(row, 3).toString();
     int mentions = (int)table.getValueAt(row, 4);
     //...
 

Esto le dará los datos en el orden de "vista" (u ordenado)...

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *