0

I want my widgets to be at the center of the JFrame regardless of its size (means either frame size is small or larger components should be at center of the frame).

How to set the components at center dynamically on resizing frame?

Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
Android
  • 23
  • 1
  • 3

1 Answers1

2

So please tell me how to set the widgets at center dynamically on resizing frame in java

  • Swing has JPanel not widgets

i want my widgets to be at the center of the jframe regardless of its size(means either jframe size is small or larger widgets should be at center of the frame).

.

enter image description here

.

enter image description here

.

enter image description here

.

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class JFrameAndBorderLayout {

    private JFrame frame = new JFrame("JFrame and BorderLayout");
    private JPanel panelWest = new JPanel();
    private JPanel panelEast = new JPanel();
    private JPanel panelNorth = new JPanel();
    private JPanel panelSouth = new JPanel();
    private JPanel panelCenter = new JPanel() {
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(400, 300);
        }

    };

    public JFrameAndBorderLayout() {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(panelWest, BorderLayout.WEST);
        frame.add(panelEast, BorderLayout.EAST);
        frame.add(panelNorth, BorderLayout.NORTH);
        frame.add(panelSouth, BorderLayout.SOUTH);
        panelCenter.setBackground(Color.RED);
        frame.add(panelCenter);
        frame.pack();
        frame.setLocation(150, 150);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrameAndBorderLayout fs = new JFrameAndBorderLayout();
            }
        });
    }
}
mKorbel
  • 109,525
  • 20
  • 134
  • 319