相关疑难解决方法(0)

为什么我的JTable错误地排序整数列?

我有一个使用DefaultTableModel的JTable,我允许在用户点击列标题时进行排序.但是,当用户单击具有integer类型数据的列的标头时,它不能正确排序.它似乎是按String而不是整数类型排序.

这是我的代码中我实际将数据添加到表中的部分:

        DefaultTableModel aModel = (DefaultTableModel) mainView.logEntryTable.getModel();
                    ResultSetMetaData rsmd;             try {
            mainView.logEntriesTableModel.setRowCount(0);
            rsmd = rs.getMetaData();

            int colNo = rsmd.getColumnCount();
            while(rs.next()){
                Object[] objects = new Object[colNo];
                for(int i=0;i<colNo;i++){
                    objects[i]=rs.getObject(i+1);
                }
                aModel.addRow(objects);
                count++;
            }
            mainView.logEntryTable.setModel(aModel);
            mainView.logEntryTable.getColumnModel().getColumn(0).setMaxWidth(80);
Run Code Online (Sandbox Code Playgroud)

所以我试图覆盖该方法并最终得到:

            @Override
            public Class<?> getColumnClass(int columnIndex){
                if( columnIndex == 0){
                    // Return the column class for the integer column
                }else{
                    // Return the column class like we normally would have if we didn't override this method
                }

                return null;
            }
        };
Run Code Online (Sandbox Code Playgroud)

我以前从未覆盖过这个,我不太清楚我在这里做什么.

java sorting swing jtable

14
推荐指数
2
解决办法
2万
查看次数

JTable +排序特定字段

我有一个JTable并添加了排序.现在,JTable有5列,日期字段中的第2列转换为DD/MM/YYYY,并显示在单元格的JTextField中.

当我将它排序为字符串并且我将日期混淆时,如何更改该特定列的排序行为?

例如.按照ASC顺序排序后,我得到了这个:

01/02/2012
01/03/2011
01/04/2011
01/05/2011
01/06/2011
01/07/2011
01/08/2011
01/09/2011
01/10/2011
01/12/2011
Run Code Online (Sandbox Code Playgroud)

这是错的,我应该得到结果

01/03/2011
01/04/2011
01/05/2011
01/06/2011
01/07/2011
01/08/2011
01/09/2011
01/10/2011
01/12/2011
01/02/2012
Run Code Online (Sandbox Code Playgroud)

我的代码现在看起来像这样排序

List<SortKey> sortKeys = new ArrayList<SortKey>();
sortKeys.add(new SortKey(2, SortOrder.ASCENDING));
table.getRowSorter().setSortKeys(sortKeys);
Run Code Online (Sandbox Code Playgroud)

我应该仅针对该特定列更改哪些内容?

java sorting swing jtable

0
推荐指数
1
解决办法
7005
查看次数

标签 统计

java ×2

jtable ×2

sorting ×2

swing ×2