JDialog allows for a modal or modeless window that has less capabilities than a JFrame. Use it for custom windows eg. to show an error message or to ask for a yes/no question. There are already a couple standard dialogs available, eg. JFileDialog and JColorChooser. Check out the section How to make Dialogs from Sun's Java Tutorial for more information. JOptionPane is a useful class that allows you to create complex dialog boxes with very little code, often just one line of code. Check out the section JOptionPane Features from Sun's Java Tutorial for more information.