To set a JDialog to modal and attach it to a parent window, a parameter has to be passed as JFrame. However, suppose you show a JDialog from a JApplet? Casting it to JFrame will result in an Exception.
Its other constructor parameters are either java.awt.Dialog or java.awt.Window which, from a Swing standpoint should not be mixed with heavyweight components.
Luckily, with JDK 1.6 the SwingUtilities class has a method that can return the window component for any component that you pass as the parameter.
When instantiating a new JDialog, they can be a hassle if the parent container is a JApplet since the JDialog class only takes an AWT container class as its parent. While you can just null, there may be instances where you need to supply a value and with that, you will have to convert the JApplet into a Frame.
The way to convert a JApplet to a Frame is by using the getAncestorOfClass() method of the SwingUtilities class. Check the code: