JOptionPane – Java

Dialog Boxes

  • A dialog box is a small graphical window that displays a message to the user or requests input.
  • A variety of dialog boxes can be displayed using the JOptionPane class.

 

Two of the dialog boxes are:

  1. Message Dialog – a dialog box that displays a message.
  2. Input Dialog – a dialog box that prompts the user for input.

Using the import Statement

  • The JOptionPane class is not automatically available to your Java programs.
  • The following statement must be before the program’s class header:
    import javax.swing.JOptionPane;
  • This statement tells the compiler where to find the JOptionPane class.

Message Dialogs

  • JOptionPane.showMessageDialog method is used to display a message dialog.
     JOptionPane.showMessageDialog(null, "Hello World");
  • The second argument is the message that is to be displayed

Input Dialogs

  • An input dialog is a quick and simple way to ask the user to enter data.
  • The dialog displays a text field, an Ok button and a Cancel button.
  • If Ok is pressed, the dialog returns the user’s input.
  • If Cancel is pressed, the dialog returns null.
    String name;
    name = JOptionPane.showInputDialog("Enter your name.");
  • The argument passed to the method is the message to display.
  • If the user clicks on the OK button, name references the string entered by the user.
  • If the user clicks on the Cancel button, name references null.

Example Program: Names Dialog program

NamesDialog

import javax.swing.JOptionPane;
public class NamesDialog
{
public static void main(String[] args)
{
String firstName; // The user's first name
String middleName; // The user's middle name
String lastName; // The user's last name

// Get the user's first name
firstName =
JOptionPane.showInputDialog("What is " +
"your first name? ");

// Get the user's middle name.
middleName =
JOptionPane.showInputDialog(
"What is " + "your middle name? ");

// Get the user's last name.
lastName = 
JOptionPane.showInputDialog("What is " + "your last name? ");
// Display a greeting
JOptionPane.showMessageDialog(null, "Hello " + firstName + " " +middleName + " " 
+ lastName);
System.exit(0);
}
}

on CMD compile and run.

firstname

middlename

lastname

output

The System.exit() Method

  • A program that uses JOptionPane does not automatically stop executing when the end of the main method is reached.
  • Java generates a thread, which is a process running in the computer, when a JOptionPane is created.
  • If the System.exit method is not called, this thread continues to execute.
  • The System.exit method requires an integer argument.
      System.exit(0);
  • This argument is an exit code that is passed back to the operating system.
  • This code is usually ignored, however, it can be used outside the program:

–to indicate whether the program ended successfully or as the result of a failure.

–The value 0 traditionally indicates that the program ended successfully.

Converting a String to a Number

  • The JOptionPane’s showInputDialog method always returns the user’s input as a String
  • String containing a number, such as “127.89, can be converted to a numeric data type.

The Parse Methods

  • Parse methods convert strings to numeric data types
  • They are:

–Byte.parseByte

–Integer.parseInt

–Short.parseShort

–Long.parseLong

–Float.parseFloat

–Double.parseDouble

  • byte bVar = Byte.parseByte(“1”);
  • int iVar = Integer.parseInt(“2599”);
  • short sVar = Short.parseShort(“10”);
  • long lVar = Long.parseLong(“15908”);
  • float fVar = Float.parseFloat(“12.3”);
  • double dVar = Double.parseDouble(“7945.6”);

Sample Program: Payroll Dialog

Coding:

Payroll Dialog

import javax.swing.JOptionPane;

public class PayrollDialog
{
   public static void main(String[] args)
   {
      String inputString; // For reading input
      String name;        // The user's name
      int hours;          // The number of hours worked
      double payRate;     // The user's hourly pay rate
      double grossPay;    // The user's gross pay

	  // Get the user's name.
      name = JOptionPane.showInputDialog("What is " + "your name? ");
	 
      // Get the hours worked.
      inputString = JOptionPane.showInputDialog("How many hours" + "did you work this week?");
				   
      // Convert the input to an int.
      hours = Integer.parseInt(inputString);

	  // Get the hourly pay rate.
      inputString = JOptionPane.showInputDialog("What is" + "your hourly payrate?");
		 
      // Convert the input to a double.
      payRate =   Double.parseDouble(inputString); 
	  
      // Calculate the gross pay.
      grossPay = hours * payRate; 
	  
	  // Display the results.
      JOptionPane.showMessageDialog(null, "Hello " + name + ". Your gross pay is $" + grossPay);

      // End the program.
      System.exit(0);
   }
}



On CMD Compile & Run:

name

hours work

hourly payrate

output2

Leave a comment