На днях написал реализацию TableCellRenderer. Теперь JTable выглядит как в iTunes

Код класса:
package com.blogspot.ldisplay.swing.table;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class ITableCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = -6332850927184223196L;
public static final Color selectedFocusedColor = Color.decode("#3D80DF");
public static final Color selectedNotFocusedColor = Color.decode("#C0C0C0");
public static final Color evenRowColor = Color.decode("#F1F5FA");
public static final Color oddRowColor = Color.WHITE;
public static final Color gridColor = new Color(217, 217, 217);
public ITableCellRenderer() {
}
public String getText(Object aObject) {
return aObject == null ? null : aObject.toString();
}
@Override
public Component getTableCellRendererComponent(final JTable table, Object value,
boolean isSelected, boolean hasFocus, final int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (isSelected) {
if (table.hasFocus()) {
setBackground(selectedFocusedColor);
setForeground(Color.WHITE);
} else {
setBackground(selectedNotFocusedColor);
setForeground(Color.BLACK);
}
} else {
Color color = row % 2 == 0 ? evenRowColor : oddRowColor;
setBackground(color);
setForeground(Color.BLACK);
}
setText(getText(value));
return this;
}
}
0 коммент.:
Отправить комментарий