/** * NumberFormatRenderer.java * Created On 2006, Mar 11, 2006 2:31:13 PM * @author E. Rajasekar */ package app.astrosoft.ui.table; import java.awt.Component; import java.text.Format; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; public class NumberFormatRenderer implements TableCellRenderer { private TableCellRenderer tableCellRenderer; Format formatter = new java.text.DecimalFormat("000.00"); public NumberFormatRenderer(TableCellRenderer tableCellRenderer, Format formatter) { this.tableCellRenderer = tableCellRenderer; this.formatter = formatter; } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = tableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (c instanceof JLabel){ JLabel l = (JLabel) c; l.setHorizontalAlignment(JLabel.CENTER); if (value instanceof Double) { l.setText(formatter.format(value)); }else if (value != null){ l.setText(value.toString()); } } return c; } }