O'Reilly logo

Java Swing, 2nd Edition by Brian Cole, James Elliott, Marc Loy, Robert Eckstein, Dave Wood

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The JOptionPane Class

JOptionPane is a utility class used to create complex JDialogs and JInternalFrames (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.

JOptionPane class diagram

Figure 10-2. JOptionPane class diagram

JOptionPanes (showing internal confirm dialogs) in four L&Fs

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required