If something is "modal" it has "modes". A "mode" is a situation in which you're only allowed to do one thing. For example a "model dialog box" is one that forces you to interact with it, preventing you from using the rest of the application's windows; a non-modal dialog box leaves the windows behind it still responsive.
Another example: most graphics programs are modal; each tool is a mode. In pencil mode you draw pencil lines, in eraser mode you erase, etc.
Originally posted by kenji mapes: Ugh, forgot to ask. JOptionPanes are mostly non-modal that I know of. How about JDialogs?
The only type of dialog generated by JOptionPane that is not modal is a message dialog. The other three are modal: confirm, option and input. JDialog has several constructors and those that do not have parameter for modality are non-modal. Those that do have a parameter for it use the parameter. Any Dialog can have it's modality changed using setModal(boolean).
You should see the JDialog documentation for more information. JOptionPane, regrettably, does not document very well the modality of it's dialogs, but I've already mentioned what each one is.