Я должен сделать один из своих столбцов в JTable, который имеет тип double, чтобы получать только числа и округлять все с точностью до 2. Не только для того, чтобы показывать их с этой точностью, но и вместо этого записывать число в данные с точностью до 2. На самом деле, если я напишите 2.456, он должен написать 2.46 в ячейке и в данных. Как лучше всего это сделать? С пользовательским средством визуализации ячеек или с помощью пользовательского редактора ячеек? У меня есть этот код, но он не меняет данные, он показывает только правильные данные в ячейке
public class DoubleCellRenderer extends DefaultTableCellRenderer {
int precision = 0;
Number numberValue;
NumberFormat nf;
public DoubleCellRenderer(int aPrecision) {
super();
precision = aPrecision;
setHorizontalAlignment(SwingConstants.RIGHT);
nf = NumberFormat.getNumberInstance();
nf.setMinimumFractionDigits(aPrecision);
nf.setMaximumFractionDigits(aPrecision);
}
@Override
public void setValue(Object value) {
if ((value != null) && (value instanceof Number)) {
numberValue = (Number) value;
value = nf.format(numberValue.doubleValue());
}
super.setValue(value);
}
}