As a heads up, this is both a problem and a solution. I upgraded from
Java 14 to 17 in my app and I began to see wildly inconsistent functioning of my custom tooltips, with zero functionality whatsoever in Windows. Below is both the problem state and the solution in case anyone runs into the same issues and needs a fix.
BROKEN
In the past, two snippits of code would give you customized tooltips.
Somewhere in startup for your program:
With the class CustomToolTipUI defined like this:
I don't know when this changed, but once I went to J17, things stopped working as they had. ToolTips took 30-45 secoonds to appear at all on macOS/Linux, methods were not firing as expected, and they were 100% kaput on Windows. To correct the problems, update the class you're extending to SynthToolTipUI, and swap out the typical paint() method for an overidden, protected method. I included a line snagging the JComponent from the context simply to show that you can use identical code otherwise. If the traditional paint() method is called, it will automatically drop down to the newly defined one here, so there's no need to override that.
WORKING