Hallo zusammen,
meine JTable ist leider sehr langsam. Der Scrollbalken und auch der RowHeader hängen immer hinterher, wenn man scrollt. Dieser Effekt tritt nur auf, wenn ich einen Renderer benutze, der so aufgebaut ist:
Kann mir jemand sagen, was so unperformant an dem Renderer ist?
meine JTable ist leider sehr langsam. Der Scrollbalken und auch der RowHeader hängen immer hinterher, wenn man scrollt. Dieser Effekt tritt nur auf, wenn ich einen Renderer benutze, der so aufgebaut ist:
Java:
public class V8CellRenderer extends JLabel implements TableCellRenderer {
private static final long serialVersionUID = 1L;
private static final Color defaultColor = Color.WHITE;
private static final Color selectedColor = new Color(200, 200, 255);
private static final Border selectedBorder = new LineBorder(Color.BLACK, 1);
private static final Border defaultBorder = new EmptyBorder(1, 1, 1, 1);
public Component getTableCellRendererComponent(JTable table, Object val, boolean isSelected, boolean hasFocus, int row, int column) {
Color color = defaultColor;
Border border = defaultBorder;
if(hasFocus || isSelected) {
color = selectedColor;
border = selectedBorder;
}
if(val != null){
JLabel label = (JLabel)val;
setForeground(label.getForeground());
setText(label.getText());
setToolTipText(label.getToolTipText());
} else {
setText("");
}
setOpaque(true);
setBackground(color);
setBorder(border);
setHorizontalAlignment(SwingConstants.CENTER);
setVerticalAlignment(SwingConstants.CENTER);
return this;
}
}
Kann mir jemand sagen, was so unperformant an dem Renderer ist?