JUCE 5.0.1 Projucer has new default white text color?

It appears there is a new default white text color in Labels and Sliders, resulting in rampant unreadability throughout my test app, which is not focused on GUI issues at all and which uses defaults wherever possible. Here is an example unreadable GUI (one of many):

I believe this lossage happened because my original GUIs had no explicit settings of these text colors, and the default must have changed from black to white. I cannot find anyplace to change this default in Projucer preferences, for example.

It looks like I have to write a perl script to go through all of my GUI .cpp source files, searching for <SLIDER and inserting
textboxtext="ff000000", and similarly adding textCol="ff000000" to all <LABEL .. tags. (I did this manually in a test case and it seems to solve the problem.)

Is there any better way to deal with this? (Visiting every textfield in the Projucer interactive interface is NOT a better solution!) If not, I will be happy to share my porting script - just tell me where to put it.


  • Julius

I suppose I DO have the time to visit every GUI to change its background color to something darkish, but that has its own ripples.

This is an issue for me as well. Any input from ROLI?

The new look and feel has a few default colour schemes and uses the dark one by default, which looks best when used with darker background colours. You’ll probably want to use the light colour scheme for your UI and you can switch to it using the LookAndFeel_V4::setColourScheme() method. The colour scheme themselves are returned by the static LookAndFeel_V4::getLightColourScheme(), getDarkColourScheme() etc. methods so you’ll want to do something like this in your app:

    if (auto* lf = dynamic_cast<LookAndFeel_V4*>(&getLookAndFeel()))
        lf->setColourScheme (LookAndFeel_V4::getLightColourScheme());

The work-around of introducing an explicit look-and-feel solves my problem - thanks for the magic.

1 Like