Java - jTable排序数字

时间:2014-07-13 19:19:15

标签: java swing sorting jtable integer

我已经搜索了很长时间,所以我决定最后在这里写。我在jTable中排序数字(整数,双精度,短路)有问题,我已经覆盖了getColumnClass方法,但它仍然没有正确排序数字。

这是我做的:

List<Class> types = new ArrayList();
    types.add(String.class);
    types.add(String.class);
    types.add(String.class);
    for (int s = 0; s < sloupce.size(); s++) {
    try {
        Statement st = log.getSt();
        ResultSet r = st.executeQuery("SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '" + table + "' AND COLUMN_NAME = '" + sloupce.get(s) + "'");
        if (r.next()) {
            String typ = r.getString("DATA_TYPE");
            if (!typ.equals("varchar")) {
                types.add(Integer.class);
            } else { 
                types.add(String.class);
            }
        }
    } catch (Exception e) { System.out.println(e.toString()); }
    }

    DefaultTableModel tm = new DefaultTableModel(new Object[0][], new String[] {"         first column         ", "         second        ", "         another        "}) {


        @Override
        public Class getColumnClass(int columnIndex) {
            return types.get(columnIndex);
        }

    };

然后我用类型数组填充类型数组,当我测试getColumnClass方法时,它确实返回了正确的类(java.lang.Integer),但它仍然错误地对值进行排序。

//更新: 我代表MySQL DB中的一个表,所以我已经更新了我的确切代码。我是这样做的。

0 个答案:

没有答案