Java Swing | Simple User Registration Form

20 Aug, 2021
Swing is a part of the JFC (Java Foundation Classes). Building Graphical User Interface in Java requires the use of Swings. Swing Framework contains a large set of components which allow a high level of customization and provide rich functionalities, and is used to create window-based applications. Java swing components are lightweight, platform-independent, provide powerful components like tables, scroll panels, buttons, list, color chooser, etc.
In this article, we’ll see how to make a Registration form which includes all the buttons and field in one Form.
Steps: 
1. Create a Java file that contains the main class – Registration. This class will only contain the main method to invoke the required methods.
class Registration {

    public static void main(String[] args)
                          throws Exception
    {
        MyFrame f = new MyFrame();
    }
}
2. Create another class MyFrame, which will contain the form.
3. In this MyFrame Class, the methods to be made are:
Components like JLabel, JTextField, JRadioButton, ButtonGroup, JComboBox, and JTextArea. These components will collectively form the Registration form.
A constructor, to initialize the components with default values.
A method actionPerformed() to get the action performed by the user and act accordingly.
4. Copy the code of MyFrame class from below.
5. Save the file as Registration.java
6. Compile the file by using javac command.
javac Registration.java
7. Run the program by calling the main class 
java Registration
Below is the code to implement the Simple Registration Form using Java Swing: 
Java
// Java program to implement// a Simple Registration Form// using Java Swing import javax.swing.*;import java.awt.*;import java.awt.event.*; class MyFrame    extends JFrame    implements ActionListener {     // Components of the Form    private Container c;    private JLabel title;    private JLabel name;    private JTextField tname;    private JLabel mno;    private JTextField tmno;    private JLabel gender;    private JRadioButton male;    private JRadioButton female;    private ButtonGroup gengp;    private JLabel dob;    private JComboBox date;    private JComboBox month;    private JComboBox year;    private JLabel add;    private JTextArea tadd;    private JCheckBox term;    private JButton sub;    private JButton reset;    private JTextArea tout;    private JLabel res;    private JTextArea resadd;     private String dates[]        = { "1", "2", "3", "4", "5",            "6", "7", "8", "9", "10",            "11", "12", "13", "14", "15",            "16", "17", "18", "19", "20",            "21", "22", "23", "24", "25",            "26", "27", "28", "29", "30",            "31" };    private String months[]        = { "Jan", "feb", "Mar", "Apr",            "May", "Jun", "July", "Aug",            "Sup", "Oct", "Nov", "Dec" };    private String years[]        = { "1995", "1996", "1997", "1998",            "1999", "2000", "2001", "2002",            "2003", "2004", "2005", "2006",            "2007", "2008", "2009", "2010",            "2011", "2012", "2013", "2014",            "2015", "2016", "2017", "2018",            "2019" };     // constructor, to initialize the components    // with default values.    public MyFrame()    {        setTitle("Registration Form");        setBounds(300, 90, 900, 600);        setDefaultCloseOperation(EXIT_ON_CLOSE);        setResizable(false);         c = getContentPane();        c.setLayout(null);         title = new JLabel("Registration Form");        title.setFont(new Font("Arial", Font.PLAIN, 30));        title.setSize(300, 30);        title.setLocation(300, 30);        c.add(title);         name = new JLabel("Name");        name.setFont(new Font("Arial", Font.PLAIN, 20));        name.setSize(100, 20);        name.setLocation(100, 100);        c.add(name);         tname = new JTextField();        tname.setFont(new Font("Arial", Font.PLAIN, 15));        tname.setSize(190, 20);        tname.setLocation(200, 100);        c.add(tname);         mno = new JLabel("Mobile");        mno.setFont(new Font("Arial", Font.PLAIN, 20));        mno.setSize(100, 20);        mno.setLocation(100, 150);        c.add(mno);         tmno = new JTextField();        tmno.setFont(new Font("Arial", Font.PLAIN, 15));        tmno.setSize(150, 20);        tmno.setLocation(200, 150);        c.add(tmno);         gender = new JLabel("Gender");        gender.setFont(new Font("Arial", Font.PLAIN, 20));        gender.setSize(100, 20);        gender.setLocation(100, 200);        c.add(gender);         male = new JRadioButton("Male");        male.setFont(new Font("Arial", Font.PLAIN, 15));        male.setSelected(true);        male.setSize(75, 20);        male.setLocation(200, 200);        c.add(male);         female = new JRadioButton("Female");        female.setFont(new Font("Arial", Font.PLAIN, 15));        female.setSelected(false);        female.setSize(80, 20);        female.setLocation(275, 200);        c.add(female);         gengp = new ButtonGroup();        gengp.add(male);        gengp.add(female);         dob = new JLabel("DOB");        dob.setFont(new Font("Arial", Font.PLAIN, 20));        dob.setSize(100, 20);        dob.setLocation(100, 250);        c.add(dob);         date = new JComboBox(dates);        date.setFont(new Font("Arial", Font.PLAIN, 15));        date.setSize(50, 20);        date.setLocation(200, 250);        c.add(date);         month = new JComboBox(months);        month.setFont(new Font("Arial", Font.PLAIN, 15));        month.setSize(60, 20);        month.setLocation(250, 250);        c.add(month);         year = new JComboBox(years);        year.setFont(new Font("Arial", Font.PLAIN, 15));        year.setSize(60, 20);        year.setLocation(320, 250);        c.add(year);         add = new JLabel("Address");        add.setFont(new Font("Arial", Font.PLAIN, 20));        add.setSize(100, 20);        add.setLocation(100, 300);        c.add(add);         tadd = new JTextArea();        tadd.setFont(new Font("Arial", Font.PLAIN, 15));        tadd.setSize(200, 75);        tadd.setLocation(200, 300);        tadd.setLineWrap(true);        c.add(tadd);         term = new JCheckBox("Accept Terms And Conditions.");        term.setFont(new Font("Arial", Font.PLAIN, 15));        term.setSize(250, 20);        term.setLocation(150, 400);        c.add(term);         sub = new JButton("Submit");        sub.setFont(new Font("Arial", Font.PLAIN, 15));        sub.setSize(100, 20);        sub.setLocation(150, 450);        sub.addActionListener(this);        c.add(sub);         reset = new JButton("Reset");        reset.setFont(new Font("Arial", Font.PLAIN, 15));        reset.setSize(100, 20);        reset.setLocation(270, 450);        reset.addActionListener(this);        c.add(reset);         tout = new JTextArea();        tout.setFont(new Font("Arial", Font.PLAIN, 15));        tout.setSize(300, 400);        tout.setLocation(500, 100);        tout.setLineWrap(true);        tout.setEditable(false);        c.add(tout);         res = new JLabel("");        res.setFont(new Font("Arial", Font.PLAIN, 20));        res.setSize(500, 25);        res.setLocation(100, 500);        c.add(res);         resadd = new JTextArea();        resadd.setFont(new Font("Arial", Font.PLAIN, 15));        resadd.setSize(200, 75);        resadd.setLocation(580, 175);        resadd.setLineWrap(true);        c.add(resadd);         setVisible(true);    }     // method actionPerformed()    // to get the action performed    // by the user and act accordingly    public void actionPerformed(ActionEvent e)    {        if (e.getSource() == sub) {            if (term.isSelected()) {                String data1;                String data                    = "Name : "                      + tname.getText() + "\n"                      + "Mobile : "                      + tmno.getText() + "\n";                if (male.isSelected())                    data1 = "Gender : Male"                            + "\n";                else                    data1 = "Gender : Female"                            + "\n";                String data2                    = "DOB : "                      + (String)date.getSelectedItem()                      + "/" + (String)month.getSelectedItem()                      + "/" + (String)year.getSelectedItem()                      + "\n";                 String data3 = "Address : " + tadd.getText();                tout.setText(data + data1 + data2 + data3);                tout.setEditable(false);                res.setText("Registration Successfully..");            }            else {                tout.setText("");                resadd.setText("");                res.setText("Please accept the"                            + " terms & conditions..");            }        }         else if (e.getSource() == reset) {            String def = "";            tname.setText(def);            tadd.setText(def);            tmno.setText(def);            res.setText(def);            tout.setText(def);            term.setSelected(false);            date.setSelectedIndex(0);            month.setSelectedIndex(0);            year.setSelectedIndex(0);            resadd.setText(def);        }    }} // Driver Codeclass Registration {     public static void main(String[] args) throws Exception    {        MyFrame f = new MyFrame();    }}
1. Compile: 
2. Registration Form unfilled:
3. Registration Form filled:
 
kalrap615
clintra
java-swing
Java Programs
Project
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Factory method design pattern in Java
Java Program to Remove Duplicate Elements From the Array
Iterate through List in Java
Java program to count the occurrence of each character in a string using Hashmap
How to Iterate HashMap in Java?
SDE SHEET - A Complete Guide for SDE Preparation
Implementing Web Scraping in Python with BeautifulSoup
Working with zip files in Python
XML parsing in Python
Python | Simple GUI calculator using Tkinter