使用 JTable 正确排序双精度数

发布于 2024-09-10 11:30:59 字数 441 浏览 5 评论 0原文

我有一个表,其中第一列包含字符串,第二列包含双精度数。

    stars = new StarDatabase(path);
    Object[][] data = new Object[stars.size()][2];
    int i = 0;
    for (String name : stars.keySet()) {
        data[i][0] = name;
        data[i++][1] = stars.get(name).period;
    }
    StarsTable = new JTable(data, StarsColumnNames);
    StarsTable.setAutoCreateRowSorter(true);

双精度数按字符串排序,因此 1 < > 15< 2< 25< 3. 我该如何解决这个问题?

I have a table where the first column contains Strings and the second contains doubles.

    stars = new StarDatabase(path);
    Object[][] data = new Object[stars.size()][2];
    int i = 0;
    for (String name : stars.keySet()) {
        data[i][0] = name;
        data[i++][1] = stars.get(name).period;
    }
    StarsTable = new JTable(data, StarsColumnNames);
    StarsTable.setAutoCreateRowSorter(true);

The doubles are sorted as strings, so 1 < 15 < 2 < 25 < 3. How can I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绿光 2024-09-17 11:30:59

关键在于 如何使用表格——概念:编辑器和渲染器。只需确保您的第二列实际上包含 值。可用的 valueOf() 方法可用于使类型显式化。

The key to this is found in How to Use Tables—Concepts: Editors and Renderers. Just make sure your second column actually contains Double values. Either of the available valueOf() methods may be used to make the type explicit.

探春 2024-09-17 11:30:59

尝试使用 GlazedList ..它只需要几行代码并且非常整洁。Glazedlist


Try using GlazedList .. it just invloves few line of code and very neat .Glazedlist


~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文