Я использую JXTable для отображения, фильтрации и сортировки некоторых данных. Однако при сортировке я получаю некоторое неожиданное поведение. Как вы можете видеть, значения не растут, как ожидалось, но отсортированы как сортировка строки.JXTable Неверная сортировка
Чтобы ответить на комментарии, я уверен, что этот столбец разбирается в правильной части кода (т. Е. В блоке Float.valueOf().) Я знаю это путем отладки. Кроме того, я сортирую столбец, щелкнув заголовок jxtable. Я не делаю это программно.
Просто чтобы быть ясно, я добавляю их в качестве поплавков:
class FantasyProTableModel extends DefaultTableModel
{
void loadData() throws BiffException, IOException
{
Workbook workbook = Workbook.getWorkbook(new File("Input.xls"));
Sheet sheet = workbook.getSheet(0);
int numCols = sheet.getColumns();
for(int col=0;col<numCols;col++)
{
addColumn(sheet.getCell(col,0).getContents());
}
for(int rownum=1;rownum<sheet.getRows();rownum++)
{
Object[] row = new Object[numCols];
for(int col=0;col<numCols;col++)
{
try
{
row[col] = Float.valueOf(sheet.getCell(col,rownum).getContents());
//parseFloat() doesn't work either
}
catch(NumberFormatException e)
{
row[col] = sheet.getCell(col,rownum).getContents();
}
}
addRow(row);
}
workbook.close();
}
}
Что я могу сделать, чтобы получить его, чтобы разобраться в правильном, порядке возрастания, по значению?
Можете ли вы предоставить 'TableModel'? Кажется, что их обрабатывают как «String» ... – MadProgrammer
@MadProgrammer Обновлено. Первоначально я был ее телом. Это единственная функция в классе. – dberm22
Добавьте инструкцию debug в предложение catch, убедитесь, что значения правильно проанализированы ... – MadProgrammer