How do I place swing component using absolute coordinates?

In this example you can see how we do an absolute positioning to a swing
component in the content panel. In this example we use a JPanel
as the container and we set not layout manager into it.

To position the component on the container we use the setBounds()
method of the component. This method takes the x and y coordinate position and
also the width and heigt of the component.

package org.kodejava.example.swing;

import javax.swing.*;

public class AbosulutePositionDemo extends JFrame {
    public AbosulutePositionDemo() {
        initializeUI();
    }

    private void initializeUI() {
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel(null);

        JTextField textField = new JTextField(20);
        textField.setBounds(50, 50, 100, 20);

        JButton button = new JButton("Button");
        button.setBounds(200, 100, 100, 20);

        JCheckBox checkBox = new JCheckBox("Check Me!");
        checkBox.setBounds(300, 250, 100, 20);

        panel.add(textField);
        panel.add(button);
        panel.add(checkBox);

        setContentPane(panel);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new AbosulutePositionDemo().setVisible(true);
            }
        });
    }
}

Wayan Saryada

Programmer, runner, recreational diver, currently living in the island of Bali, Indonesia. Mostly programming in Java, creating web based application with Spring Framework, Hibernate / JPA.

Leave a Reply