The JOptionPane Class
JOptionPane
is a utility class used to create
complex JDialog and
JInternalFrame (for use as lightweight dialogs)
objects. Figure 10.2 shows where
JOptionPane fits into the class hierarchy; Figure 10.2 shows JOptionPane in the
three look-and-feels. It provides a range of convenient ways to
create common popup dialog boxes, significantly reducing the amount
of code you are required to write.

Figure 10-2. The JOptionPane class hierarchy

Figure 10-3. JOptionPanes (showing internal confirm dialogs) in the three look-and-feels
For example, to create a very simple dialog window with the text
“Click OK after you read this” and an “OK”
button without JOptionPane, you’d have to
write something like the code that follows.
public void showSimpleDialog(JFrame f) { final JDialog d = new JDialog(f, "Click OK", true); d.setSize(200, 150); JLabel l = new JLabel("Click OK after you read this", JLabel.CENTER); d.getContentPane().setLayout(new BorderLayout()); d.getContentPane().add(l, BorderLayout.CENTER); JButton b = new JButton("OK"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ev) { d.setVisible(false); d.dispose(); } }); JPanel p = new JPanel(); // flow layout will center button p.add(b); d.getContentPane().add(p, BorderLayout.SOUTH); d.setLocationRelativeTo(f); ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access