Laying Out Components Using Absolute Coordinates

In this section, you will learn how to set component's layout according to the coordinate of the screen or the frame.

Laying Out Components Using Absolute Coordinates

In this section, you will learn how to set component's layout according to the coordinate of the screen or the frame.

 Laying Out Components Using Absolute Coordinates

Laying Out Components Using Absolute Coordinates

     

In this section, you will learn how to set component's layout according to the coordinate of the screen or the frame. Absolute coordinates are the fixed points of frame or window which is used for your application. The coordinates are specified based on the x-axis and the y-axis of the frame.

This program shows a frame which contains some swing components like: JLabel, JTextField and JButton. These components are arranged on the frame according to the absolute coordinate of the frame or window. Following methods and APIs have been used to set the fixed point or coordinate for the component on the frame:

setBounds(int x-coordinate, int y-coordinate, int width, int height):
This is the method of the Container class. This method sets the components according to the mentioned coordinate values in the method as parameter. This method takes four argument as follows:

  • First is the X-coordinate of the frame.
  • Second is the Y-coordinate of the frame.
  • Third is the width of the component.
  • And last determines the height of the component.

These values are passed through the setBounds() method after setting the layout manager using the setLayout() method for the Container.

Here is the code of Program:

import javax.swing.*;
import java.awt.*;

public class AbsCoordinate{
  public static void main(String[] args) {
  JFrame frame = new JFrame("Laying Out Components Using Absolute Coordinates");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  JPanel panel = new JPanel();
  panel.setLayout(null);
  JLabel label1 = new JLabel("RoseIndia.Net");
  JTextField field = new JTextField(20);
  JButton button1 = new JButton("OK");
  JButton button2 = new JButton("Cancel");
  label1.setBounds(1005010050);
  field.setBounds(7510020025);
  button1.setBounds(402007525);
  button2.setBounds(2002007525);
  panel.add(label1);
  panel.add(field);
  panel.add(button1);
  panel.add(button2);
  frame.add(panel);
  frame.setSize(400,400);
  frame.setVisible(true);
  }
}

Screen shots for the result of the above program:

Components arranged by setting it's absolute coordinate

Download this example