Prev: none | Next: JOptionPane - More Dialogs
Java: JOptionPane - Simple Dialogs
Here are two useful static methods from javax.swing.JOptionPane
that allow you to easily create dialog boxes for input and output.
The Java API documentation has many more JOptionPane options, but these
are sufficient for many uses.
In the code below userInput and text are Strings.
Value | Method call |
userInput = |
JOptionPane.showInputDialog(component, text); |
|
JOptionPane.showMessageDialog(component, text); |
Use null
for the component parameter if you don't have a window
The dialog box will be centered over the component given in the first parameter.
Typically you would give
the window over which it should be centered.
If your program doesn't have a window, you may simply write
null
, in which case
the dialog box will be centered on the screen.
Example
This program produces the dialog boxes below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// File: joptionpane-examples/JOptionPaneTest1.java // Description: JOptionPane example. // Author: Fred Swartz // Date: 31 Jan 2005 import javax.swing.JOptionPane; public class JOptionPaneTest1 { public static void main(String[] args) { String ans; ans = JOptionPane.showInputDialog(null, "Speed in miles per hour?"); double mph = Double.parseDouble(ans); double kph = 1.621 * mph; JOptionPane.showMessageDialog(null, "KPH = " + kph); System.exit(0); } } |
Notes
- Line 11
-
This line displays a String, an input text field (JTextField), and OK and CANCEL buttons. If the user presses the OK button, the string in the text field is returned. If the user didn't type anything, the string "" is returned. If the user presses the CANCEL button, null
is returned.Because this call returns a String, it's necessary in the next line to convert it into a double to do the arithmetic calculation.
- Line 14
-
This line displays a String and an OK button. In this call the String formed by concatenating a String literal with a number. When a String is concatenated with anything, that other operand is converted to a String by Java, then the two are put together into a new String.