Итак, у меня есть JTable, заполненный данными из текстового файла, мне нужно отсортировать таблицу по 6-му столбцу «Запас»
File inputFile = new File("Stock.txt");
BufferedReader br = new BufferedReader(new FileReader(inputFile));
static Object[] colContent = { "Barcode", "Device Name", "Device Type", "Brand", "Colour", "Connectivity", "Stock", "ogCost", "Price", "Additional" };
static Object[][] data={ {null,null,null,null,null,null,null,null,null,null }};
JTable table = new JTable((Object[][]) data, colContent);
Я перепробовал все, включая переопределение модели таблицы но, похоже, ничего не работает!
DefaultTableModel model = new DefaultTableModel() {
@Override
public Class getColumnClass(int column)
{
if (column == 6)
return Integer.class;
else
return String.class;
}
};
table.setModel(model);
model.setColumnIdentifiers(colContent);
String firstLine = br.readLine().trim();
Object[] tableLines = br.lines().toArray();
for(int i = 0; i < tableLines.length; i++)
{
String line = tableLines[i].toString().trim();
String[] dataRow = line.split(",");
model.addRow(dataRow);
}
Это сортировщик, который я использовал, он работает, но отображает значения вроде 1,10,15,3,5,8
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(table.getModel());
ArrayList<SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
sortKeys.add(new RowSorter.SortKey(6, SortOrder.ASCENDING));