void (Graphics g, int x, int y, int width, int height, Component owner, Component renderer) { g.clipRect(0, y, owner.getWidth(), height); paintBackground(g, y, height, owner, renderer); if (renderer instanceof Container) { Component[] children; Container container = (Container)renderer; synchronized (container.getTreeLock()) { children = container.getComponents(); } if (children.length > 0) { renderer.setBounds(x, y, width, height); renderer.validate(); for (Component child : children) { if (0 == child.getX() && width == child.getWidth() && 0 < child.getHeight()) { paintBackground(g, y + child.getY(), child.getHeight(), owner, child); } } } } }