Java JOptionPane

In Java, JOptionPane is a part of the Java Swing library. It helps us to create dialog boxes such as message dialogs, conformation dialogs, input dialogs, and options dialogs In this article, we are going to explore some constructors, methods, and some examples of JOptionPane.

Constructors of JOptionPane Class

This is the default constructor for JOptionPane.It is used to create a JOptionPane with no options and message.

It creates a message dialog with a specified message.

JOptionPane(Object message, int messageType)

It creates a message dialog with a specified message and its Type.

JOptionPane(Object message, int messageType, int optionType)

It helps us to create a dialog with a specified message, message type, and option type.

Methods of JOptionPane

It helps us to create JDialog with a specified title but without any parent.

showMessageDialog(Component parentComponent, Object message)

This method displays a message dialog with the specified message.

showInputDialog(Component parentComponent, Object message)

This method displays an input dialog with the specified message.

This method to set the message type of the dialog

This method allows you to set the option type for the dialog.

Here we can set a list of custom options.

This method sets the initial selection when using custom options in the dialog.

Fields of JOptionPane

A Constant code displaying an error message icon.

A Constant code displaying information message icon.

A Constant code for displaying Warning message icon.

A constant for creating a dialog with “Yes” and “No” options.

A constant for creating a dialog with “Yes,” “No,” and “Cancel” options.

A constant for creating a dialog with “OK” and “Cancel” options.

Classes from Which JOptionPane Methods are inherited

Following are the programs to implement JOptionPane

1. Java program to create a showMessageDialog in JOptionPane

This dialog is used to display messages to the user.

Java

//Java program to create a showMessageDialog in JOptionPane import javax.swing.JOptionPane; public class MessageDialogExample < public static void main(String[] args) < // Create a JOptionPane to display a message dialog // The first parameter (null) specifies the dialog's parent component (usually the main frame) // The second parameter is the message to display ("GFG" in this case) // The third parameter is the title of the dialog ("Geeks Premier League 2023")

// The fourth parameter (JOptionPane.INFORMATION_MESSAGE) specifies the message type (information icon)

JOptionPane.showMessageDialog( null , "GFG" , "Geeks Premier League 2023" , JOptionPane.INFORMATION_MESSAGE);

Output:

Message Dialog Output

2. Java Program to create a showInputDialog in JOptionPane

This dialog is used to take input from the user.

Java

//Java Program to create a showInputDialog in JOptionPane import javax.swing.JOptionPane; public class InputDialogExample < public static void main(String[] args) < // Prompt the user to enter their article name and store it in the 'name' variable String name = JOptionPane.showInputDialog( "Enter your Article Name:" ); // Create a JOptionPane to display a message with a personalized greeting JOptionPane.showMessageDialog( null , "GFG " + name + "!" );

Output:

Input Dialog Output

Final Output After Selection:

Input Message Dialog

3. Java Program to create showConfirmDialog in JOptionPane

This dialog displays a confirmation message and allows the user to make a decision.

Java

//Java Program to create showConfirmDialog in JOptionPane import javax.swing.JOptionPane; public class ConfirmDialogExample < public static void main(String[] args) < // Display a confirmation dialog with Yes, No, and Cancel options int choice = JOptionPane.showConfirmDialog( null , "Do you want to save changes?" , "Confirmation" , JOptionPane.YES_NO_CANCEL_OPTION); // Check the user's choice and display a corresponding message if (choice == JOptionPane.YES_OPTION) < // If the user chose 'Yes', show a message indicating that changes are saved JOptionPane.showMessageDialog( null , "Changes saved." ); > else if (choice == JOptionPane.NO_OPTION) < // If the user chose 'No', show a message indicating that changes are not saved JOptionPane.showMessageDialog( null , "Changes not saved." );

// If the user chose 'Cancel' or closed the dialog, show a message indicating the operation is canceled

JOptionPane.showMessageDialog( null , "Operation canceled." );

Output:

Confirm Dialog Output

Final Output After Selection:

Confirm Message Dialog Output

4. Java Program to create a showOptionDialog in JOptionPane

This dialog allows you to create a customized option dialog.

Java

// Java Program to create a // showOptionDialog in JOptionPane import javax.swing.JOptionPane; // Driver Class public class OptionDialogExample < // main function public static void main(String[] args) // Define an array of custom options for the dialog Object[] options = < "Yes" , "No" , "Cancel" >; // Display an option dialog with custom options // The user's choice is stored in the 'choice' int choice = JOptionPane.showOptionDialog( null , // Parent component (null means center on screen) "Do you want to proceed?" , // Message to display "Custom Options" , // Dialog title JOptionPane.YES_NO_CANCEL_OPTION, // Option type (Yes, No, Cancel) JOptionPane.QUESTION_MESSAGE, // Message type (question icon) null , // Custom icon (null means no custom icon) options, // Custom options array options[ 2 ] // Initial selection (default is "Cancel") // Check the user's choice and display a // corresponding message if (choice == JOptionPane.YES_OPTION) < // If the user chose 'Yes' // show a message indicating that they are // proceeding JOptionPane.showMessageDialog( null , "Proceeding. " ); else if (choice == JOptionPane.NO_OPTION) < // If the user chose 'No' // show a message indicating that they are not // proceeding JOptionPane.showMessageDialog( null , "Not proceeding." ); // If the user chose 'Cancel' or closed the // show a message indicating the operation is JOptionPane.showMessageDialog( null , "Operation canceled." );

Output:

Option Dialog Output

Final Output After Selection:

Option Message Dialog Output

Like Article -->

Please Login to comment.

Similar Reads

Java Application with JOptionPane: Calculator, Numbers, Discounts, and Student Assessment

In this article, we will create a simple application that is created using the Java programming language with the help of the JOptionPane class. This application has various features that can assist users in various situations. Available Features:1. Arithmetic Operations (Calculator): This application allows you to perform various arithmetic operat

5 min read Difference Between java.sql.Time, java.sql.Timestamp and java.sql.Date in Java

Across the software projects, we are using java.sql.Time, java.sql.Timestamp and java.sql.Date in many instances. Whenever the java application interacts with the database, we should use these instead of java.util.Date. The reason is JDBC i.e. java database connectivity uses these to identify SQL Date and Timestamp. Here let us see the differences

7 min read Java AWT vs Java Swing vs Java FX

Java's UI frameworks include Java AWT, Java Swing, and JavaFX. This plays a very important role in creating the user experience of Java applications. These frameworks provide a range of tools and components for creating graphical user interfaces (GUIs) that are not only functional but also visually appealing. As a Java developer, selecting the righ

11 min read Java.io.ObjectInputStream Class in Java | Set 2

Java.io.ObjectInputStream Class in Java | Set 1 Note : Java codes mentioned in this article won't run on Online IDE as the file used in the code doesn't exists online. So, to verify the working of the codes, you can copy them to your System and can run it over there. More Methods of ObjectInputStream Class : defaultReadObject() : java.io.ObjectInpu

6 min read Java.lang.Class class in Java | Set 1

Java provides a class with name Class in java.lang package. Instances of the class Class represent classes and interfaces in a running Java application. The primitive Java types (boolean, byte, char, short, int, long, float, and double), and the keyword void are also represented as Class objects. It has no public constructor. Class objects are cons

15+ min read Java.lang.StrictMath class in Java | Set 2

Java.lang.StrictMath Class in Java | Set 1More methods of java.lang.StrictMath class 13. exp() : java.lang.StrictMath.exp(double arg) method returns the Euler’s number raised to the power of double argument. Important cases: Result is NaN, if argument is NaN.Result is +ve infinity, if the argument is +ve infinity.Result is +ve zero, if argument is

6 min read java.lang.instrument.ClassDefinition Class in Java

This class is used to bind together the supplied class and class file bytes in a single ClassDefinition object. These class provide methods to extract information about the type of class and class file bytes of an object. This class is a subclass of java.lang.Object class. Class declaration: public final class ClassDefinition extends ObjectConstruc

2 min read Java.util.TreeMap.pollFirstEntry() and pollLastEntry() in Java

Java.util.TreeMap also contains functions that support retrieval and deletion at both, high and low end of values and hence give a lot of flexibility in applicability and daily use. This function is poll() and has 2 variants discussed in this article. 1. pollFirstEntry() : It removes and retrieves a key-value pair with the least key value in the ma

4 min read Java.util.TreeMap.floorEntry() and floorKey() in Java

Finding greatest number less than given value is used in many a places and having that feature in a map based container is always a plus. Java.util.TreeMap also offers this functionality using floor() function. There are 2 variants, both are discussed below. 1. floorEntry() : It returns a key-value mapping associated with the greatest key less than

3 min read java.lang.Math.atan2() in Java

atan2() is an inbuilt method in Java that is used to return the theta component from the polar coordinate. The atan2() method returns a numeric value between -[Tex]\pi [/Tex]and [Tex]\pi [/Tex]representing the angle [Tex]\theta [/Tex]of a (x, y) point and the positive x-axis. It is the counterclockwise angle, measured in radian, between the positiv

1 min read java.net.URLConnection Class in Java

URLConnection Class in Java is an abstract class that represents a connection of a resource as specified by the corresponding URL. It is imported by the java.net package. The URLConnection class is utilized for serving two different yet related purposes, Firstly it provides control on interaction with a server(especially an HTTP server) than URL cl

5 min read Java 8 | ArrayDeque removeIf() method in Java with Examples

The removeIf() method of ArrayDeque is used to remove all those elements from ArrayDeque which satisfies a given predicate filter condition passed as a parameter to the method. This method returns true if some element are removed from the Vector. Java 8 has an important in-built functional interface which is Predicate. Predicate, or a condition che

3 min read Java.util.GregorianCalendar Class in Java

Prerequisites : java.util.Locale, java.util.TimeZone, Calendar.get()GregorianCalendar is a concrete subclass(one which has implementation of all of its inherited members either from interface or abstract class) of a Calendar that implements the most widely used Gregorian Calendar with which we are familiar. java.util.GregorianCalendar vs java.util.

10 min read Java lang.Long.lowestOneBit() method in Java with Examples

java.lang.Long.lowestOneBit() is a built-in method in Java which first convert the number to Binary, then it looks for first set bit present at the lowest position then it reset rest of the bits and then returns the value. In simple language, if the binary expression of a number contains a minimum of a single set bit, it returns 2^(first set bit po

3 min read Java Swing | Translucent and shaped Window in Java

Java provides different functions by which we can control the translucency of the window or the frame. To control the opacity of the frame must not be decorated. Opacity of a frame is the measure of the translucency of the frame or component. In Java, we can create shaped windows by two ways first by using the AWTUtilities which is a part of com.su

5 min read Java lang.Long.numberOfTrailingZeros() method in Java with Examples

java.lang.Long.numberOfTrailingZeros() is a built-in function in Java which returns the number of trailing zero bits to the right of the lowest order set bit. In simple terms, it returns the (position-1) where position refers to the first set bit from the right. If the number does not contain any set bit(in other words, if the number is zero), it r

3 min read Java lang.Long.numberOfLeadingZeros() method in Java with Examples

java.lang.Long.numberOfLeadingZeros() is a built-in function in Java which returns the number of leading zero bits to the left of the highest order set bit. In simple terms, it returns the (64-position) where position refers to the highest order set bit from the right. If the number does not contain any set bit(in other words, if the number is zero

3 min read Java lang.Long.highestOneBit() method in Java with Examples

java.lang.Long.highestOneBit() is a built-in method in Java which first convert the number to Binary, then it looks for the first set bit from the left, then it reset rest of the bits and then returns the value. In simple language, if the binary expression of a number contains a minimum of a single set bit, it returns 2^(last set bit position from

3 min read Java lang.Long.byteValue() method in Java with Examples

java.lang.Long.byteValue() is a built-in function in Java that returns the value of this Long as a byte. Syntax: public byte byteValue() Parameters: The function does not accept any parameter. Return : This method returns the numeric value represented by this object after conversion to byte type. Examples: Input : 12 Output : 12 Input : 1023 Output

3 min read Java lang.Long.reverse() method in Java with Examples

java.lang.Long.reverse() is a built-in function in Java which returns the value obtained by reversing the order of the bits in the two's complement binary representation of the specified long value. Syntax: public static long reverse(long num) Parameter : num - the number passed Returns : the value obtained by reversing the order of the bits in the

2 min read java.lang.reflect.Proxy Class in Java

A proxy class is present in java.lang package. A proxy class has certain methods which are used for creating dynamic proxy classes and instances, and all the classes created by those methods act as subclasses for this proxy class. Class declaration: public class Proxy extends Object implements SerializableFields: protected InvocationHandler hIt han

4 min read Java.math.BigInteger.modInverse() method in Java

Prerequisite : BigInteger Basics The modInverse() method returns modular multiplicative inverse of this, mod m. This method throws an ArithmeticException if m <= 0 or this has no multiplicative inverse mod m (i.e., gcd(this, m) != 1). Syntax: public BigInteger modInverse(BigInteger m) Parameters: m - the modulus. Return Value: This method return

2 min read Java.math.BigInteger.probablePrime() method in Java

Prerequisite : BigInteger Basics The probablePrime() method will return a Biginteger of bitLength bits which is prime. bitLength is provided as parameter to method probablePrime() and method will return a prime BigInteger of bitLength bits. The probability that a BigInteger returned by this method is composite and does not exceed 2^-100. Syntax: pu

2 min read Java | How to start learning Java

Java is one of the most popular and widely used programming languages and platforms. A platform is an environment that helps to develop and run programs written in any programming language. Java is fast, reliable, and secure. From desktop to web applications, scientific supercomputers to gaming consoles, cell phones to the Internet, Java is used in

5 min read Java Stream | Collectors toCollection() in Java

Collectors toCollection(Supplier<C> collectionFactory) method in Java is used to create a Collection using Collector. It returns a Collector that accumulates the input elements into a new Collection, in the order in which they are passed. Syntax: public static <T, C extends Collection<T>> Collector<T, ?, C> toCollection(Supp

2 min read Java Clock tickMinutes() method in Java with Examples

java.time.Clock.tickMinutes(ZoneId zone) method is a static method of Clock class that returns the current instant ticking in whole minutes using the best available system clock and the time-zone of that instant is same as the time-zone passed as a parameter. Nanosecond and second fields of the clock are set to zero to round the instant in the whol

3 min read Java Clock withZone() method in Java with Examples

The java.time.Clock.withZone(ZoneId zone) method is a method of Clock class which returns a clock copy of clock object on which this method is applied, with a different time-zone. If there is a clock and it is required to change the zone of clock but not other properties, then withZone() method is used. This method takes zone as parameter which is

3 min read Java.util.concurrent.RecursiveAction class in Java with Examples

RecursiveAction is an abstract class encapsulates a task that does not return a result. It is a subclass of ForkJoinTask, which is an abstract class representing a task that can be executed on a separate core in a multicore system. The RecursiveAction class is extended to create a task that has a void return type. The code that represents the compu

3 min read Java 8 | DoubleToIntFunction Interface in Java with Example

The DoubleToIntFunction Interface is a part of the java.util.function package which has been introduced since Java 8, to implement functional programming in Java. It represents a function which takes in a double-valued argument and gives an int-valued result. The lambda expression assigned to an object of DoubleToIntFunction type is used to define

1 min read Java 8 | IntToDoubleFunction Interface in Java with Examples

The IntToDoubleFunction Interface is a part of the java.util.function package which has been introduced since Java 8, to implement functional programming in Java. It represents a function which takes in an int-valued argument and gives a double-valued result. The lambda expression assigned to an object of IntToDoubleFunction type is used to define

1 min read Article Tags :