0

我在 java 中的 jTable 中遇到了指数值。实际上我正在从数据库中检索值,并且数量列值是双倍的。当 jTable 填充了值时,数量列值会自行转换为指数值,而数据库具有正常的双精度值。

我知道如何将值从指数转换为双精度值,但这次是在 jTable 中。请尽快帮助我。感谢问候。

4

2 回答 2

2

尝试实现您自己的 cellRenderer 并格式化您的双精度。像这样

jTable.getColumnModel().getColumn(2).setCellRenderer(new DefaultTableCellRenderer()
        {
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                return super.getTableCellRendererComponent(table, String.format("%s",(double)value), isSelected, hasFocus, row, column);
            }
        });
于 2013-10-11T07:47:40.483 回答
-1

作为更改 CellRenderers 的替代方法,这可能不适合某些类型的表,您可以将自定义 TableModel 实现为装饰器,该装饰器委托给包含数字的现有 TableModel,但它执行从数字到字符串的动态转换使用适当的列参数调用 getValueAt() 时满足您的需要。如果数字列是可编辑的,您可以在 setValueAt() 中进行相反的转换。

于 2013-10-11T07:59:04.777 回答