Distribute extra horizontal and vertical space in a GridBagLayout with Java

Java 8Object Oriented ProgrammingProgramming

To distribute the extra horizontal and vertical space, use the fields weightx and weighty. The following is an example to distribute extra horizontal and vertical space −

Example

package my;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
public class SwingDemo {
   public static void main(String[] args) {
      JFrame frame = new JFrame("Demo Frame");
      JPanel panel = new JPanel();
      GridBagLayout layout = new GridBagLayout();
      panel.setLayout(layout);
      GridBagConstraints gbc = new GridBagConstraints();
      JLabel label = new JLabel("Rank: ");
      JTextArea text = new JTextArea();
      text.setText("Add rank here...");
      layout.columnWeights = new double[]{0.0f, 0.0f, 2.0f};
      layout.rowWeights = new double[]{0.0f, 1.0f};
      gbc.gridx = 0;
      gbc.gridy = 0;
      gbc.weightx = 2;
      gbc.weighty = 2;
      layout.setConstraints(label, gbc);
      panel.add(label);
      gbc.gridx = 1;
      gbc.gridy = 1;
      gbc.weightx = 2;
      gbc.weighty = 2;
      layout.setConstraints(text, gbc);
      panel.add(text);
      frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      frame.add(panel);
      frame.setSize(550, 400);
      frame.setVisible(true);
   }
}

Output

raja
Published on 03-Jun-2019 15:43:15
Advertisements