The JOptionPane Class
JOptionPane
is a utility class used to create complex JDialog
s and JInternalFrame
s (the latter of which is used
for lightweight dialogs). Figure
10-2 shows where JOptionPane
fits into the class hierarchy; Figure 10-3 shows JOptionPane
in four L&Fs. It provides a range of convenient ways to create
common pop-up modal dialog boxes, which significantly reduces the amount
of code you are required to write, at the expense of forcing the user to
drop whatever she’s doing and react to the pop up.
Figure 10-2. JOptionPane class diagram
Figure 10-3. JOptionPanes (showing internal confirm dialogs) in four L&Fs
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 this:
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 ...
Get Java Swing, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.