/** ********************************************************************** */ public void paintComponent(Graphics g) { for (int i = 0; i < model.size(); i++) { int y = i * cell_height; if (y + cell_height < g.getClipY()) continue; else if (y > g.getClipY() + g.getClipHeight()) break; // g.translate(0, y); IComponent c = renderer.getListCellRendererComponent( this, model.elementAt(i), i, selection.isSelectedIndex(i), (rollover == i)); c.setBounds(0, 0, bounds.width, cell_height); c.setFont(font); c.setEnabled(enabled); c.paint(g); g.translate(0, -y); } }
private void recalculate() { setSize(bounds.width, cell_height * model.size()); }