package com.github.sarxos.l2fprod.sheet.renderer;
import java.awt.Component;
import java.io.Serializable;
import javax.swing.BorderFactory;
import javax.swing.JFormattedTextField;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.table.TableCellRenderer;
public class NumberRenderer extends JFormattedTextField implements TableCellRenderer, Serializable {
private static final long serialVersionUID = -11256720632412870L;
private static final Border EMPTY_BORDER = BorderFactory.createEmptyBorder(0, 2, 0, 0);
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
JTable.DropLocation dl = table.getDropLocation();
if (dl != null && !dl.isInsertRow() && !dl.isInsertColumn() && dl.getRow() == row && dl.getColumn() == column) {
isSelected = true;
}
setFont(UIManager.getFont("Table.font"));
setBorder(EMPTY_BORDER);
setValue(value);
if (isSelected) {
setBackground(table.getSelectionBackground());
setForeground(table.getSelectionForeground());
} else {
setBackground(table.getBackground());
setForeground(table.getForeground());
}
return this;
}
}