import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
  
public class marks extends JFrame 
{
 	private Container container;
	private GridBagLayout layout;
 	private GridBagConstraints constraints;

 
 	public marks()
 	{
 	 	super("GridBagLayout");

 		container =getContentPane();
 		layout = new GridBagLayout();
 		container.setLayout(layout);

 		//instantiate gridbag constraints 
 		constraints =new GridBagConstraints();

 		//create GUI components
 		JTextField name_input =new JTextField();
 		JTextField english_input =new JTextField();
 		JTextField cs_input =new JTextField();
 		JTextField average_input =new JTextField();

 		JLabel name = new JLabel("Name");
 		JLabel marks = new JLabel("Marks");
 		JLabel english = new JLabel("English");
 		JLabel cs = new JLabel("CS");
 		JLabel average = new JLabel("Average");

 		
 		constraints.fill =GridBagConstraints.HORIZONTAL;
 		addComponent(name, 0, 0);
 		addComponent(name_input, 1, 0);
 		
 		constraints.fill =GridBagConstraints.HORIZONTAL;
 		addComponent(marks, 0, 1, 0);
 		
 		constraints.fill =GridBagConstraints.HORIZONTAL;
 		addComponent(english, 0, 2);	
 		addComponent(english_input, 1, 2);
 		
 		constraints.fill =GridBagConstraints.HORIZONTAL;
 		addComponent(cs, 0, 3);
 		addComponent(cs_input, 1, 3);
 		
 		constraints.fill =GridBagConstraints.HORIZONTAL;
 		addComponent(average, 0, 4);
 		addComponent(average_input, 1, 4);
 		

 		constraints.fill =GridBagConstraints.HORIZONTAL;
		
 
 		constraints.weightx =1000;//can grow wider
 		constraints.weighty =1;//can grow taller
 		constraints.fill =GridBagConstraints.BOTH;


 		setSize(300,150 );
 		setVisible(true );
 	}

 	//method to set constraints on
 	private void addComponent(Component component,
 	int row,int column,int width,int height )
 	{
 		//set gridx and gridy constraints.gridx =column;
 		constraints.gridy =row;

 		//set gridwidth and gridheight
 		constraints.gridwidth =width;
 		constraints.gridheight =height;
 
 		//set constraints and add component
 		layout.setConstraints(component,constraints );
 		container.add(component );
 	}

 	//execute application
 	public static void main(String[] args)
 	{
 		marks application =new marks();

 		application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
 	}

}	//end class GridBagDemo