There shouldn’t be any repaint problems in PureSwing as there is no lightweight popup optimization, it’s simply not needed and it’s incompatible with GUI compositors (no effects for such lightweight popups). Heavyweight popups are fast enough (and always were) either by disabling automatic background redraw of native window (not possible in AWT, I work on native backends bypassing AWT completely) or in case of compositors in modern OSs there is nice fade-in/out animation which is even better.
About transparent events, it’s interesting idea, especially if the tooltip is translucent. But that would touch only custom tooltips/popups I suppose? As the default behaviour should be that tooltip is always out of way of mouse cursor. I think the transparency of events should be handled directly in JWindow or even JComponent somehow.
This also touches my not so good feeling about event handling in AWT/Swing, like the event consuming mechanism (how one can specify some order or priority?), or some ways to temporarily disable event handlers (if it’s not bad in some way…) and other things like that… but I still don’t have concrete idea what is exactly wrong (or isn’t?), any ideas on this topic?
Improving the Modern LAF, soon it will completely replace Metal LAF which will be removed as it’s not much nice visually and I don’t want to maintain it as I’m also doing changes to LAF API. Once done, creating own LAFs will be much easier.
Thanks for the reference and good luck with the library