I already call setOpaque() where necessary.
I am following David's suggestion. It is accomplishing what I want. All of my colors were chosen for the default look and feel; they didn't suit other look and feels.
E.g. I changed
vURL.setBackground(new Color(230,230,230));
to
vURL.setBackground(JAlbumColor.controlLtHighlight);
So this color changes when you change the look and feel setting.
It takes a bit of trial and error to get the right colors. I temporarily added this to CustomUI.java.
System.out.println(JAlbumColor.albumHighlight);
System.out.println(JAlbumColor.albumHover);
System.out.println(JAlbumColor.border);
System.out.println(JAlbumColor.control);
System.out.println(JAlbumColor.controlDkShadow);
System.out.println(JAlbumColor.controlHighlight);
System.out.println(JAlbumColor.controlLtHighlight);
System.out.println(JAlbumColor.controlShadow);
System.out.println(JAlbumColor.controlText);
System.out.println(JAlbumColor.highlight);
System.out.println(JAlbumColor.imageBackground);
System.out.println(JAlbumColor.imageBorder);
System.out.println(JAlbumColor.linkText);
System.out.println(JAlbumColor.rubberBand);
System.out.println(JAlbumColor.sublimeBorder);
System.out.println(JAlbumColor.text);
System.out.println(JAlbumColor.textHighlight);
System.out.println(JAlbumColor.textHighlightText);
System.out.println(JAlbumColor.textInactiveText);
System.out.println(JAlbumColor.textSublimeText);
System.out.println(JAlbumColor.textText);
System.out.println(JAlbumColor.window);
System.out.println(JAlbumColor.windowText);
This reports the standard colors for the current look and feel; this helps to identify the appropriate colors.
Edited by: ctwist on 11-Dec-2020 01:10
In most situations, jAlbum chooses the correct color. There are just a few situations where i need to override this.