package net.seninp.grammarviz.view.table; import java.text.DecimalFormat; import java.text.NumberFormat; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; /** * Implements a cell renderer for a Double class. * * @author psenin * */ public class CellDoubleRenderer extends DefaultTableCellRenderer { /** A fancy serial. */ private static final long serialVersionUID = 3040778303718817255L; /** * Constructor. */ public CellDoubleRenderer() { super(); } @Override public void setValue(Object aValue) { Object result = aValue; if ((aValue != null) && (aValue instanceof Number)) { Number numberValue = (Number) aValue; NumberFormat formatter = NumberFormat.getNumberInstance(); DecimalFormat df = (DecimalFormat) formatter; df.applyPattern("##0.00000"); result = df.format(numberValue.doubleValue()); } super.setValue(result); super.setHorizontalAlignment(SwingConstants.RIGHT); } }