The default cell renderer used by JTable
to render numbers set's it horizontal alignment to JLabel.RIGHT
...
static class NumberRenderer extends DefaultTableCellRenderer.UIResource {
public NumberRenderer() {
super();
setHorizontalAlignment(JLabel.RIGHT);
}
}
You render will be using JLabel.LEADING
by default (being based on a JLabel
).
If you change your renderer to set the horizontal alignment in constructor, it should align to where you want it to go...
public class DecimalFormatRenderer extends DefaultTableCellRenderer {
//...
public DecimalFormatRenderer() {
super();
setHorizontalAlignment(JLabel.RIGHT);
}
//...
}