package gui; import java.util.Comparator; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; public class XRowSorter extends TableRowSorter<TableModel> { public XRowSorter() { super(); Comparator<Comparable<?>> comparator = new Comparator<Comparable<?>>() { @Override public int compare(Comparable<?> o1, Comparable<?> o2) { if(o1 instanceof String && o2 instanceof String) { String o1String = (String)o1; String o2String = (String)o2; try { int o1Int = Integer.parseInt(o1String); int o2Int = Integer.parseInt(o2String); return o1Int - o2Int; } catch (Exception e) { return o1String.compareTo(o2String); } } return 0; } }; for(int i = 0; i < 6; i++) setComparator(i, comparator); } }