I wrote my own dialog class. That was the only way I could get around this problem while still using active rendering.
I’ve written 2 different dialog classes. In the first one, I believe I just added JPanels and only made them visible when they appeared. To make them modal, you have to disable all components in the parent panel when they’re visible.
In the second one, I wrote a whole new gui system and included a dialog class. My new gui system appears in a Swing JPanel but doesn’t use Swing internally. It does use some AWT stuff, like Graphics2D, Color, and Font, but it’s mostly all new stuff.
Writing a whole new gui system is overkill if all you want is a modal dialog class.