setbackground for JComponent.
By default a JComponent doesn't do any custom painting. You have two choices:
a) override the paintComponent() method of your custom class to do the background painting yourself
b) extend JPanel instead of JComponent and you get the default background painting.
In the future post a
SSCCE when you have a problem. You posted too much code to read.