JTable中。从文本文件中排序()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JTable中。从文本文件中排序()相关的知识,希望对你有一定的参考价值。

我有关于jTable1排序的问题我在这个论坛上看了几个关于这个问题已经问过的问题,但似乎没有答案对我有用,我怎么能设置正常工作的数字序列而不是1,10 ,11 ... 2,20,21,... 3,..等等。我怎么能修改这段代码jTable1.setAutoCreateRowSorter(true);,因为它似乎没有正常工作。这是我正在使用的当前代码。

try {
        FileReader fR = new FileReader("table.txt");
       BufferedReader br = new BufferedReader(fR);
        String firstLine = br.readLine().trim();
        String[] columnsName = firstLine.split(",");
        DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
        model.setColumnIdentifiers(columnsName);
        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);

        }
                    jTable1.setAutoCreateRowSorter(true);

    } catch (IOException ex) {
        Logger.getLogger(NewJFrame3.class.getName()).log(Level.SEVERE, null, ex);
    } 
答案

@MadProgrammer发表评论是正确的答案。你需要插入一行数值(即 - Integer [],Float [],Double []等),而不是你现在正在使用的String []。

有关如何进行此转换的示例,以下是使用您的一些代码作为起点将String []转换为Integer []的方法

String line = tableLines[i].toString().trim();
String[] dataRow = line.split("/");
int dataRowLength = dataRow.length;
Integer[] dataRowIntegers = new Integer[dataRowLength];
for(int i = 0; i < dataRowLength; i++){
    dataRowIntegers[i] = Integer.valueOf(dataRow[i]);
}
model.addRow(dataRowIntegers);

希望这可以帮助!

以上是关于JTable中。从文本文件中排序()的主要内容,如果未能解决你的问题,请参考以下文章

从JTable获取对象

JTable - 拖放

JTable-在单元格中绘制内容(文本)

如何从.csv文件向JTable中的列添加标头

如何在编辑时选择JTable单元格中的所有文本

背景排序JTable后,特定值的颜色不会改变