Works fine for me using JDK8 on Windows 7.
Some basic debugging techniques:
1. First
test with default classes. No need for a custom renderer to demonstrate a problem.
2. Use the default fonts.
3. Use the default sizes
In other words first make sure the code works with default classes and values before making changes.
Then if it stops working you know which change is causing the problem.
Also, don't use a JLabel to reserve space. You can use an EmptyBorder on the panel. Read the section from the Swing tutorial on
How to Use Borders