<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FGridBagLayout</id>
		<title>Java Tutorial/Swing/GridBagLayout - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FGridBagLayout"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/GridBagLayout&amp;action=history"/>
		<updated>2026-04-07T02:26:49Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/GridBagLayout&amp;diff=3925&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/GridBagLayout&amp;diff=3925&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/GridBagLayout&amp;diff=3926&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/GridBagLayout&amp;diff=3926&amp;oldid=prev"/>
				<updated>2010-05-31T15:32:50Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Associate the gridbag constraints with the component ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    Container container = frame.getContentPane();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    container.setLayout(gbl);&lt;br /&gt;
    &lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    &lt;br /&gt;
    JButton component = new JButton(&amp;quot;a&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    container.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Create and set a gridbag layout and how to set gridbag constraints ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    Container container = frame.getContentPane();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    container.setLayout(gbl);&lt;br /&gt;
    // Place a component at cell location (1,1)&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    &lt;br /&gt;
    JButton component = new JButton(&amp;quot;a&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    // Associate the gridbag constraints with the component&lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    container.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Number of Rows and Columns of Cells in a GridBagLayout ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    Container container = frame.getContentPane();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    container.setLayout(gbl);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    JButton component1 = new JButton(&amp;quot;a&amp;quot;);&lt;br /&gt;
    JButton component2 = new JButton(&amp;quot;b&amp;quot;);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    gbl.setConstraints(component1, gbc);&lt;br /&gt;
    container.add(component1);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 0;&lt;br /&gt;
    gbl.setConstraints(component2, gbc);&lt;br /&gt;
    container.add(component2);&lt;br /&gt;
    container.add(component1);&lt;br /&gt;
    container.add(component2);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
    gbl.layoutContainer(container);&lt;br /&gt;
    int[][] dim = gbl.getLayoutDimensions();&lt;br /&gt;
    int cols = dim[0].length;&lt;br /&gt;
    int rows = dim[1].length;&lt;br /&gt;
    System.out.println(cols);&lt;br /&gt;
    System.out.println(rows);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make the component only stretch horizontally ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.fill = GridBagConstraints.HORIZONTAL;&lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make the component only stretch vertically ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.fill = GridBagConstraints.VERTICAL;&lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make the component on stretchable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    &lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    gbc.fill = GridBagConstraints.NONE;&lt;br /&gt;
    &lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make the component stretch in both directions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.fill = GridBagConstraints.BOTH;&lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Making a GridBagLayout Fill the Container ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;1&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    double[][] weights = gbl.getLayoutWeights();&lt;br /&gt;
    for (int i = 0; i &amp;lt; 2; i++) {&lt;br /&gt;
      for (int j = 0; j &amp;lt; weights[i].length; j++) {&lt;br /&gt;
        weights[i][j] = 1;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    gbl.columnWeights = weights[0];&lt;br /&gt;
    gbl.rowWeights = weights[1];&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Place a component at (ith a column weight 1 and a row weight of 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    &lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    gbc.weightx = 1;&lt;br /&gt;
    gbc.weighty = 2;&lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Place a component at cell location (1,1) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    Container container = frame.getContentPane();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    container.setLayout(gbl);&lt;br /&gt;
    &lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    &lt;br /&gt;
    JButton component = new JButton(&amp;quot;a&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    container.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Positioning a component in the center of other component using GridbagLayout ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import java.awt.Label;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    JFrame demo = new JFrame(&amp;quot;GridBag demo, to center a component&amp;quot;);&lt;br /&gt;
    JPanel parentPanel = new JPanel();&lt;br /&gt;
    GridBagLayout gridbag = new GridBagLayout();&lt;br /&gt;
    GridBagConstraints constraints = new GridBagConstraints();&lt;br /&gt;
    constraints.fill = GridBagConstraints.CENTER;&lt;br /&gt;
    gridbag.setConstraints(parentPanel, constraints);&lt;br /&gt;
    parentPanel.setLayout(gridbag);&lt;br /&gt;
    Label centerLabel = new Label(&amp;quot; AAA...&amp;quot;);&lt;br /&gt;
    parentPanel.add(centerLabel);&lt;br /&gt;
    demo.add(parentPanel);&lt;br /&gt;
    demo.setSize(500, 500);&lt;br /&gt;
    demo.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Positions five components within a container, using weights, fill, and relative positioning ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Sun grants you (&amp;quot;Licensee&amp;quot;) a non-exclusive, royalty free, license to use,&lt;br /&gt;
 * modify and redistribute this software in source and binary code form,&lt;br /&gt;
 * provided that i) this copyright notice and license appear on all copies of&lt;br /&gt;
 * the software; and ii) Licensee does not utilize the software in a manner&lt;br /&gt;
 * which is disparaging to Sun.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY&lt;br /&gt;
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR&lt;br /&gt;
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE&lt;br /&gt;
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING&lt;br /&gt;
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS&lt;br /&gt;
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,&lt;br /&gt;
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER&lt;br /&gt;
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF&lt;br /&gt;
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is not designed or intended for use in on-line control of&lt;br /&gt;
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in&lt;br /&gt;
 * the design, construction, operation or maintenance of any nuclear&lt;br /&gt;
 * facility. Licensee represents and warrants that it will not use or&lt;br /&gt;
 * redistribute the Software for such purposes.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * ContainerEventDemo.java requires no other files.&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.ContainerEvent;&lt;br /&gt;
import java.awt.event.ContainerListener;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class ContainerEventDemo extends JPanel implements ContainerListener, ActionListener {&lt;br /&gt;
  JTextArea display;&lt;br /&gt;
  JPanel buttonPanel;&lt;br /&gt;
  JButton addButton, removeButton, clearButton;&lt;br /&gt;
  Vector&amp;lt;JButton&amp;gt; buttonList;&lt;br /&gt;
  static final String ADD = &amp;quot;add&amp;quot;;&lt;br /&gt;
  static final String REMOVE = &amp;quot;remove&amp;quot;;&lt;br /&gt;
  static final String CLEAR = &amp;quot;clear&amp;quot;;&lt;br /&gt;
  static final String newline = &amp;quot;\n&amp;quot;;&lt;br /&gt;
  public ContainerEventDemo() {&lt;br /&gt;
    super(new GridBagLayout());&lt;br /&gt;
    GridBagLayout gridbag = (GridBagLayout) getLayout();&lt;br /&gt;
    GridBagConstraints c = new GridBagConstraints();&lt;br /&gt;
    // Initialize an empty list of buttons.&lt;br /&gt;
    buttonList = new Vector&amp;lt;JButton&amp;gt;(10, 10);&lt;br /&gt;
    // Create all the components.&lt;br /&gt;
    addButton = new JButton(&amp;quot;Add a button&amp;quot;);&lt;br /&gt;
    addButton.setActionCommand(ADD);&lt;br /&gt;
    addButton.addActionListener(this);&lt;br /&gt;
    removeButton = new JButton(&amp;quot;Remove a button&amp;quot;);&lt;br /&gt;
    removeButton.setActionCommand(REMOVE);&lt;br /&gt;
    removeButton.addActionListener(this);&lt;br /&gt;
    buttonPanel = new JPanel(new GridLayout(1, 1));&lt;br /&gt;
    buttonPanel.setPreferredSize(new Dimension(200, 75));&lt;br /&gt;
    buttonPanel.addContainerListener(this);&lt;br /&gt;
    display = new JTextArea();&lt;br /&gt;
    display.setEditable(false);&lt;br /&gt;
    JScrollPane scrollPane = new JScrollPane(display);&lt;br /&gt;
    scrollPane.setPreferredSize(new Dimension(200, 75));&lt;br /&gt;
    clearButton = new JButton(&amp;quot;Clear text area&amp;quot;);&lt;br /&gt;
    clearButton.setActionCommand(CLEAR);&lt;br /&gt;
    clearButton.addActionListener(this);&lt;br /&gt;
    c.fill = GridBagConstraints.BOTH; // Fill entire cell.&lt;br /&gt;
    c.weighty = 1.0; // Button area and message area have equal height.&lt;br /&gt;
    c.gridwidth = GridBagConstraints.REMAINDER; // end of row&lt;br /&gt;
    gridbag.setConstraints(scrollPane, c);&lt;br /&gt;
    add(scrollPane);&lt;br /&gt;
    c.weighty = 0.0;&lt;br /&gt;
    gridbag.setConstraints(clearButton, c);&lt;br /&gt;
    add(clearButton);&lt;br /&gt;
    c.weightx = 1.0; // Add/remove buttons have equal width.&lt;br /&gt;
    c.gridwidth = 1; // NOT end of row&lt;br /&gt;
    gridbag.setConstraints(addButton, c);&lt;br /&gt;
    add(addButton);&lt;br /&gt;
    c.gridwidth = GridBagConstraints.REMAINDER; // end of row&lt;br /&gt;
    gridbag.setConstraints(removeButton, c);&lt;br /&gt;
    add(removeButton);&lt;br /&gt;
    c.weighty = 1.0; // Button area and message area have equal height.&lt;br /&gt;
    gridbag.setConstraints(buttonPanel, c);&lt;br /&gt;
    add(buttonPanel);&lt;br /&gt;
    setPreferredSize(new Dimension(400, 400));&lt;br /&gt;
    setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));&lt;br /&gt;
  }&lt;br /&gt;
  public void componentAdded(ContainerEvent e) {&lt;br /&gt;
    displayMessage(&amp;quot; added to &amp;quot;, e);&lt;br /&gt;
  }&lt;br /&gt;
  public void componentRemoved(ContainerEvent e) {&lt;br /&gt;
    displayMessage(&amp;quot; removed from &amp;quot;, e);&lt;br /&gt;
  }&lt;br /&gt;
  void displayMessage(String action, ContainerEvent e) {&lt;br /&gt;
    display.append(((JButton) e.getChild()).getText() + &amp;quot; was&amp;quot; + action&lt;br /&gt;
        + e.getContainer().getClass().getName() + newline);&lt;br /&gt;
    display.setCaretPosition(display.getDocument().getLength());&lt;br /&gt;
  }&lt;br /&gt;
  /*&lt;br /&gt;
   * This could have been implemented as two or three classes or objects, for&lt;br /&gt;
   * clarity.&lt;br /&gt;
   */&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    String command = e.getActionCommand();&lt;br /&gt;
    if (ADD.equals(command)) {&lt;br /&gt;
      JButton newButton = new JButton(&amp;quot;JButton #&amp;quot; + (buttonList.size() + 1));&lt;br /&gt;
      buttonList.addElement(newButton);&lt;br /&gt;
      buttonPanel.add(newButton);&lt;br /&gt;
      buttonPanel.revalidate(); // Make the button show up.&lt;br /&gt;
    } else if (REMOVE.equals(command)) {&lt;br /&gt;
      int lastIndex = buttonList.size() - 1;&lt;br /&gt;
      try {&lt;br /&gt;
        JButton nixedButton = buttonList.elementAt(lastIndex);&lt;br /&gt;
        buttonPanel.remove(nixedButton);&lt;br /&gt;
        buttonList.removeElementAt(lastIndex);&lt;br /&gt;
        buttonPanel.revalidate(); // Make the button disappear.&lt;br /&gt;
        buttonPanel.repaint(); // Make the button disappear.&lt;br /&gt;
      } catch (ArrayIndexOutOfBoundsException exc) {&lt;br /&gt;
      }&lt;br /&gt;
    } else if (CLEAR.equals(command)) {&lt;br /&gt;
      display.setText(&amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Create the GUI and show it. For thread safety, this method should be&lt;br /&gt;
   * invoked from the event-dispatching thread.&lt;br /&gt;
   */&lt;br /&gt;
  private static void createAndShowGUI() {&lt;br /&gt;
    // Create and set up the window.&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;ContainerEventDemo&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    // Create and set up the content pane.&lt;br /&gt;
    JComponent newContentPane = new ContainerEventDemo();&lt;br /&gt;
    newContentPane.setOpaque(true); // content panes must be opaque&lt;br /&gt;
    frame.setContentPane(newContentPane);&lt;br /&gt;
    // Display the window.&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // Schedule a job for the event-dispatching thread:&lt;br /&gt;
    // creating and showing this application&amp;quot;s GUI.&lt;br /&gt;
    javax.swing.SwingUtilities.invokeLater(new Runnable() {&lt;br /&gt;
      public void run() {&lt;br /&gt;
        createAndShowGUI();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Setting Stretchyness of a GridBagLayout Using Fill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    &lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    &lt;br /&gt;
    // Make the component on stretchable&lt;br /&gt;
    gbc.fill = GridBagConstraints.NONE;&lt;br /&gt;
    &lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Setting the Location of a Component in a GridBagLayout ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    Container container = frame.getContentPane();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    container.setLayout(gbl);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    JButton component1 = new JButton(&amp;quot;a&amp;quot;);&lt;br /&gt;
    JButton component2 = new JButton(&amp;quot;b&amp;quot;);&lt;br /&gt;
    gbc.gridx = 1;&lt;br /&gt;
    gbc.gridy = 1;&lt;br /&gt;
    gbl.setConstraints(component1, gbc);&lt;br /&gt;
    container.add(component1);&lt;br /&gt;
    gbc.gridx = 0;&lt;br /&gt;
    gbc.gridy = 0;&lt;br /&gt;
    gbl.setConstraints(component2, gbc);&lt;br /&gt;
    container.add(component2);&lt;br /&gt;
    container.add(component1);&lt;br /&gt;
    container.add(component2);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Setting the Space around a Component Within the Cell of the GridBagLayout Using Insets ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import java.awt.Insets;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    JButton component = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;3&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;4&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;5&amp;quot;));&lt;br /&gt;
    frame.add(component);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;6&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;7&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;8&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;9&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;0&amp;quot;));&lt;br /&gt;
    &lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
    int top = 20;&lt;br /&gt;
    int left = 20;&lt;br /&gt;
    int bottom = 2;&lt;br /&gt;
    int right = 40;&lt;br /&gt;
    gbc.insets = new Insets(top, left, bottom, right);&lt;br /&gt;
    gbl.setConstraints(component, gbc);&lt;br /&gt;
&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Setting the Stretchyness of Rows and Columns in a GridBagLayout Using Layout Weights ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    GridBagLayout gbl = new GridBagLayout();&lt;br /&gt;
    frame.setLayout(gbl);&lt;br /&gt;
    frame.add(new JButton(&amp;quot;1&amp;quot;));&lt;br /&gt;
    frame.add(new JButton(&amp;quot;2&amp;quot;));&lt;br /&gt;
    gbl.layoutContainer(frame);&lt;br /&gt;
&lt;br /&gt;
    gbl.columnWeights = new double[]{0.0f, 1.0f, 2.0f};&lt;br /&gt;
    gbl.rowWeights = new double[]{0.0f, 1.0f};&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Uses many features ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;- weights, insets, internal padding, horizontal fill, exact cell positioning, multi-column cells, and anchoring (component positioning within a cell)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Sun grants you (&amp;quot;Licensee&amp;quot;) a non-exclusive, royalty free, license to use,&lt;br /&gt;
 * modify and redistribute this software in source and binary code form,&lt;br /&gt;
 * provided that i) this copyright notice and license appear on all copies of&lt;br /&gt;
 * the software; and ii) Licensee does not utilize the software in a manner&lt;br /&gt;
 * which is disparaging to Sun.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY&lt;br /&gt;
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR&lt;br /&gt;
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE&lt;br /&gt;
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING&lt;br /&gt;
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS&lt;br /&gt;
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,&lt;br /&gt;
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER&lt;br /&gt;
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF&lt;br /&gt;
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is not designed or intended for use in on-line control of&lt;br /&gt;
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in&lt;br /&gt;
 * the design, construction, operation or maintenance of any nuclear&lt;br /&gt;
 * facility. Licensee represents and warrants that it will not use or&lt;br /&gt;
 * redistribute the Software for such purposes.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * GridBagLayoutDemo.java requires no other files.&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.ruponentOrientation;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import java.awt.Insets;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class GridBagLayoutDemo {&lt;br /&gt;
  final static boolean shouldFill = true;&lt;br /&gt;
  final static boolean shouldWeightX = true;&lt;br /&gt;
  final static boolean RIGHT_TO_LEFT = false;&lt;br /&gt;
  public static void addComponentsToPane(Container pane) {&lt;br /&gt;
    if (RIGHT_TO_LEFT) {&lt;br /&gt;
      pane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);&lt;br /&gt;
    }&lt;br /&gt;
    JButton button;&lt;br /&gt;
    pane.setLayout(new GridBagLayout());&lt;br /&gt;
    GridBagConstraints c = new GridBagConstraints();&lt;br /&gt;
    if (shouldFill) {&lt;br /&gt;
      // natural height, maximum width&lt;br /&gt;
      c.fill = GridBagConstraints.HORIZONTAL;&lt;br /&gt;
    }&lt;br /&gt;
    button = new JButton(&amp;quot;Button 1&amp;quot;);&lt;br /&gt;
    if (shouldWeightX) {&lt;br /&gt;
      c.weightx = 0.5;&lt;br /&gt;
    }&lt;br /&gt;
    c.gridx = 0;&lt;br /&gt;
    c.gridy = 0;&lt;br /&gt;
    pane.add(button, c);&lt;br /&gt;
    button = new JButton(&amp;quot;Button 2&amp;quot;);&lt;br /&gt;
    c.gridx = 1;&lt;br /&gt;
    c.gridy = 0;&lt;br /&gt;
    pane.add(button, c);&lt;br /&gt;
    button = new JButton(&amp;quot;Button 3&amp;quot;);&lt;br /&gt;
    c.gridx = 2;&lt;br /&gt;
    c.gridy = 0;&lt;br /&gt;
    pane.add(button, c);&lt;br /&gt;
    button = new JButton(&amp;quot;Long-Named Button 4&amp;quot;);&lt;br /&gt;
    c.ipady = 40; // make this component tall&lt;br /&gt;
    c.weightx = 0.0;&lt;br /&gt;
    c.gridwidth = 3;&lt;br /&gt;
    c.gridx = 0;&lt;br /&gt;
    c.gridy = 1;&lt;br /&gt;
    pane.add(button, c);&lt;br /&gt;
    button = new JButton(&amp;quot;5&amp;quot;);&lt;br /&gt;
    c.ipady = 0; // reset to default&lt;br /&gt;
    c.weighty = 1.0; // request any extra vertical space&lt;br /&gt;
    c.anchor = GridBagConstraints.PAGE_END; // bottom of space&lt;br /&gt;
    c.insets = new Insets(10, 0, 0, 0); // top padding&lt;br /&gt;
    c.gridx = 1; // aligned with button 2&lt;br /&gt;
    c.gridwidth = 2; // 2 columns wide&lt;br /&gt;
    c.gridy = 2; // third row&lt;br /&gt;
    pane.add(button, c);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Create the GUI and show it. For thread safety, this method should be&lt;br /&gt;
   * invoked from the event-dispatching thread.&lt;br /&gt;
   */&lt;br /&gt;
  private static void createAndShowGUI() {&lt;br /&gt;
    // Create and set up the window.&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;GridBagLayoutDemo&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    // Set up the content pane.&lt;br /&gt;
    addComponentsToPane(frame.getContentPane());&lt;br /&gt;
    // Display the window.&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // Schedule a job for the event-dispatching thread:&lt;br /&gt;
    // creating and showing this application&amp;quot;s GUI.&lt;br /&gt;
    javax.swing.SwingUtilities.invokeLater(new Runnable() {&lt;br /&gt;
      public void run() {&lt;br /&gt;
        createAndShowGUI();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using a GridBagLayout Manager ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;GridBagLayout is the most complex and most flexible of the layout managers.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Elements are arranged in a rectangular grid.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Elements can have different sizes and can occupy multiple rows or columns.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;The position and behavior of each element is specified by an instance of the GridBagConstraints class.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridBagConstraints;&lt;br /&gt;
import java.awt.GridBagLayout;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.border.Border;&lt;br /&gt;
public class TryGridBagLayout {&lt;br /&gt;
  static JFrame aWindow = new JFrame(&amp;quot;This is a Gridbag Layout&amp;quot;);&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    aWindow.setBounds(30, 30, 300, 300);&lt;br /&gt;
    aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    GridBagLayout gridbag = new GridBagLayout();&lt;br /&gt;
    GridBagConstraints constraints = new GridBagConstraints();&lt;br /&gt;
    aWindow.getContentPane().setLayout(gridbag);&lt;br /&gt;
    constraints.weightx = constraints.weighty = 10.0;&lt;br /&gt;
    constraints.fill = constraints.BOTH;&lt;br /&gt;
    addButton(&amp;quot; Press &amp;quot;, constraints, gridbag);&lt;br /&gt;
    constraints.gridwidth = constraints.REMAINDER;&lt;br /&gt;
    addButton(&amp;quot;GO&amp;quot;, constraints, gridbag);&lt;br /&gt;
    aWindow.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  static void addButton(String label, GridBagConstraints constraints, GridBagLayout layout) {&lt;br /&gt;
    Border edge = BorderFactory.createRaisedBevelBorder();&lt;br /&gt;
    JButton button = new JButton(label);&lt;br /&gt;
    button.setBorder(edge);&lt;br /&gt;
    layout.setConstraints(button, constraints);&lt;br /&gt;
    aWindow.getContentPane().add(button);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>