@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (row == table.getRowCount() - 1 || column == table.getColumnCount() - 1) { c.setBackground(BACKGROUND_COLOR); if (isSelected) c.setForeground(Color.BLACK); } return c; } }
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (value instanceof Number) { final Number number = (Number) value; final boolean isDecimalNumber = number.doubleValue() % 1 != 0; if (isDecimalNumber) { final double doubleValue = number.doubleValue(); value = nf.format(Math.abs(doubleValue) < 1e-10 ? 0.0 : doubleValue); } else { final int intValue = number.intValue(); value = nf.format(intValue); } setHorizontalAlignment(SwingConstants.RIGHT); } Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if ((value != null) && (value instanceof LastRowAggregatedValue)) { c.setForeground(fgColorLastRow); c.setBackground(bgColorLastRow); return c; } return c; } }
table.setDefaultRenderer(Double.class, new CellRenderers.NumberCellRenderer());