Creating Frames using Swings in Java

2

Swing is a part of JFC (Java Foundation Classes). Building Graphical User Interface in Java requires the use of Swings. Swing Framework contain a large set of components which allow 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 frames using Swings in Java. Ways to create a frame:

  1. By creating the object of Frame class (association): In this, we will see how to create JFrame window by instantiating JFrame class.
    // Java program to create frames 
    // using association
    
    import javax.swing.*;
    public class test1
    {
    	JFrame frame;
    
    	test1()
    	{
    		// creating instance of JFrame with name "first way"
    		frame=new JFrame("first way");
    		
    		// creates instance of JButton
    		JButton button = new JButton("let's see");
    
    		button.setBounds(200, 150, 90, 50);
    		
    		// setting close operation
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    		// adds button in JFrame
    		frame.add(button);
    
    		// sets 500 width and 600 height
    		frame.setSize(500, 600);
    		
    		// uses no layout managers
    		frame.setLayout(null);
    		
    		// makes the frame visible
    		frame.setVisible(true);
    	}
    	
    	public static void main(String[] args)
    	{
    		new test1();
    	}
    }
    
  2. By extending Frame class (inheritance): In this example, we will be inheriting JFrame class to create JFrame window and hence it won’t be required to create an instance of JFrame class explicitly.
    // Java program to create a 
    // frame using inheritance().
    
    import javax.swing.*;
    
    // inheriting JFrame
    public class test2 extends JFrame
    {
    	JFrame frame;
    	test2()
    	{
    		setTitle("this is also a title");
    
    		// create button
    		JButton button = new JButton("click");
    
    		button.setBounds(165, 135, 115, 55);
    		
    		// adding button on frame
    		add(button);
    
    		// setting close operation
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    		setSize(400, 500);
    		setLayout(null);
    		setVisible(true);
    	}
    	
    	public static void main(String[] args)
    	{
    		new test2();
    	}
    }
    

    Output :
    Untitled drawing (2)
    Note : You won’t be able to run this code on an online compiler, so I have added an image to show you the output.

  3. Create a frame using Swing inside main():
    // Java program to create a frame 
    // using Swings in main().
    
    import javax.swing.*;
    public class Swing_example
    {
    	public static void main(String[] args)
    	{
    		// creates instance of JFrame
    		JFrame frame1 = new JFrame();
    
    		// creates instance of JButton
    		JButton button1 = new JButton("click");
    		JButton button2 = new JButton("again click");
    
    		// x axis, y axis, width, height
    		button1.setBounds(160, 150 ,80, 80);
    		button2.setBounds(190, 190, 100, 200);
    
    		// adds button1 in Frame1
    		frame1.add(button1);
    		
    		// adds button2 in Frame1
    		frame1.add(button2);
    
    		// 400 width and 500 height of frame1
    		frame1.setSize(400, 500) ;
    		
    		// uses no layout managers
    		frame1.setLayout(null);
    		
    		// makes the frame visible
    		frame1.setVisible(true);
    	}
    }
    

    Output :
    Untitled drawing
    Note : You wont’t be able to run this code on online compiler, so I have added an image to show you the output.
    Another example:

    // Java program to create a frame
    // using Swings in main().
    
    import javax.swing.*;
    public class Swing_example_2
    {
    	public static void main(String[] args)
    	{
    		// creates instance of JFrame
    		JFrame frame1 = new JFrame();
    
    		// creates instance of JButton
    		JButton button1 = new JButton("button1");
    		
    		// "button2" appears on the button
    		JButton button2 = new JButton("button2");
    
    		// x axis, y axis, width, height
    		button1.setBounds(180, 50, 80, 80);
    		button2.setBounds(180, 140, 80, 80);
    
    		//adds button1 in Frame1
    		frame1.add(button1);
    		
    		//adds button2 in Frame1
    		frame1.add(button2);
    
    		//400 width and 500 height of frame1
    		frame1.setSize(500, 300) ;
    		
    		//uses no layout managers
    		frame1.setLayout(null);
    		
    		//makes the frame visible
    		frame1.setVisible(true);
    	}
    }
    

    Output :
    Untitled drawing (1)
    Note : You wont’t be able to run this code on online compiler, so I have added an image to show you the output.

This article is contributed by Shitij Chawla. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.

Recommended Posts:



2 Average Difficulty : 2/5.0
Based on 3 vote(s)










Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.