In questi casi io uso un JDialog.
C'è un motivo per cui devi usare assolutamente il JFrame?