Contrary to most university text-books on Java I have seen, and even most Java GUI books, most components in the Swing library do not render directly from the paint method, but delegate that work to an utility ComponentUI object (can be set using the setUI() method). If you want to modify a way that the component displays on the screen, you should first try to subclass the UI object. See column spanning for an example.