Introduction
The class GridBagLayout arranges the components in a horizontal and vertical manner.
Class Declaration
Following is the declaration for java.awt.GridBagLayout class −
public class GridBagLayout
extends Object
implements LayoutManager2, Serializable
Field
Following are the fields for java.awt.GridBagLayout class −
- static int DEFAULT_SIZE − Indicates the size from the component or the gap should be used for a particular range value.
- static int PREFERRED_SIZE − Indicates the preferred size from the component or the gap should be used for a particular range value.
Class Constructors
| Sr.No. | Constructor & Description |
|---|---|
| 1 |
GridBagLayout()
Creates a grid bag layout manager.
|
Class Methods
| Sr.No. | Method & Description |
|---|---|
| 1 |
void addLayoutComponent(Component comp, Object constraints)
Adds the specified component to the layout, using the specified constraints object.
|
| 2 |
void addLayoutComponent(String name, Component comp)
Adds the specified component with the specified name to the layout.
|
| 3 |
protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)
Adjusts the x, y width and height fields to the correct values depending on the constraint geometry and pads.
|
| 4 |
protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)
This method is obsolete and supplied for backwards compatability only; new code should call adjustForGravity instead.
|
| 5 |
protected void arrangeGrid(Container parent)
Lays out the grid.
|
| 6 |
protected void ArrangeGrid(Container parent)
This method is obsolete and supplied for backwards compatability only; new code should call arrangeGrid instead.
|
| 7 |
GridBagConstraints getConstraints(Component comp)
Gets the constraints for the specified component.
|
| 8 |
float getLayoutAlignmentX(Container parent)
Returns the alignment along the x axis.
|
| 9 |
float getLayoutAlignmentY(Container parent)
Returns the alignment along the y axis.
|
| 10 |
int[][] getLayoutDimensions()
Determines column widths and row heights for the layout grid.
|
| 11 |
protected java.awt.GridBagLayoutInfo getLayoutInfo(Container parent, int sizeflag)
Fills in an instance of GridBagLayoutInfo for the current set of managed children.
|
| 12 |
protected java.awt.GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag)
This method is obsolete and supplied for backwards compatability only; new code should call getLayoutInfo instead.
|
| 13 |
Point getLayoutOrigin()
Determines the origin of the layout area, in the graphics coordinate space of the target container.
|
| 14 |
double[][] getLayoutWeights()
Determines the weights of the layout grid's columns and rows.
|
| 15 |
protected Dimension getMinSize(Container parent, java.awt.GridBagLayoutInfo info)
Figures out the minimum size of the master based on the information from getLayoutInfo().
|
| 16 |
protected Dimension GetMinSize(Container parent, java.awt.GridBagLayoutInfo info)
This method is obsolete and supplied for backwards compatability only; new code should call getMinSize instead.
|
| 17 |
void invalidateLayout(Container target)
Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.
|
| 18 |
void layoutContainer(Container parent)
Lays out the specified container using this grid bag layout.
|
| 19 |
Point location(int x, int y)
Determines which cell in the layout grid contains the point specified by (x, y).
|
| 20 |
protected GridBagConstraints lookupConstraints(Component comp)
Retrieves the constraints for the specified component.
|
| 21 |
Dimension maximumLayoutSize(Container target)
Returns the maximum dimensions for this layout given the components in the specified target container.
|
| 22 |
Dimension minimumLayoutSize(Container parent)
Determines the minimum size of the parent container using this grid bag layout.
|
| 23 |
Dimension preferredLayoutSize(Container parent)
Determines the preferred size of the parent container using this grid bag layout.
|
| 24 |
void removeLayoutComponent(Component comp)
Removes the specified component from this layout.
|
| 25 |
void setConstraints(Component comp, GridBagConstraints constraints)
Sets the constraints for the specified component in this layout.
|
| 26 |
String toString()
Returns a string representation of this grid bag layout's values.
|
Methods Inherited
This class inherits methods from the following classes −
- java.lang.Object
GridBagLayout Example
Create the following Java program using any editor of your choice in say D:/ > SWING > com > sjavaspot > gui >
SwingLayoutDemo.java
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingLayoutDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; private JLabel msglabel; public SwingLayoutDemo(){ prepareGUI(); } public static void main(String[] args){ SwingLayoutDemo swingLayoutDemo = new SwingLayoutDemo(); swingLayoutDemo.showGridBagLayoutDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java SWING Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); headerLabel = new JLabel("",JLabel.CENTER ); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showGridBagLayoutDemo(){ headerLabel.setText("Layout in action: GridBagLayout"); JPanel panel = new JPanel(); panel.setBackground(Color.darkGray); panel.setSize(300,300); GridBagLayout layout = new GridBagLayout(); panel.setLayout(layout); GridBagConstraints gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.gridx = 0; gbc.gridy = 0; panel.add(new JButton("Button 1"),gbc); gbc.gridx = 1; gbc.gridy = 0; panel.add(new JButton("Button 2"),gbc); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.ipady = 20; gbc.gridx = 0; gbc.gridy = 1; panel.add(new JButton("Button 3"),gbc); gbc.gridx = 1; gbc.gridy = 1; panel.add(new JButton("Button 4"),gbc); gbc.gridx = 0; gbc.gridy = 2; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.gridwidth = 2; panel.add(new JButton("Button 5"),gbc); controlPanel.add(panel); mainFrame.setVisible(true); } }
OUTPUT:
ANOTHER CODE
import java.awt.*;
import java.awt.event.*;
public class calculator implements ActionListener
{
int c,n;
String s1,s2,s3,s4,s5;
Frame f;
Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;
Panel p;
TextField tf;
GridLayout g;
calculator()
{
f = new Frame("My calculator");
p = new Panel();
f.setLayout(new FlowLayout());
b1 = new Button("0");
b1.addActionListener(this);
b2 = new Button("1");
b2.addActionListener(this);
b3 = new Button("2");
b3.addActionListener(this);
b4 = new Button("3");
b4.addActionListener(this);
b5 = new Button("4");
b5.addActionListener(this);
b6 = new Button("5");
b6.addActionListener(this);
b7 = new Button("6");
b7.addActionListener(this);
b8 = new Button("7");
b8.addActionListener(this);
b9 = new Button("8");
b9.addActionListener(this);
b10 = new Button("9");
b10.addActionListener(this);
b11 = new Button("+");
b11.addActionListener(this);
b12 = new Button("-");
b12.addActionListener(this);
b13 = new Button("*");
b13.addActionListener(this);
b14 = new Button("/");
b14.addActionListener(this);
b15 = new Button("%");
b15.addActionListener(this);
b16 = new Button("=");
b16.addActionListener(this);
b17 = new Button("C");
b17.addActionListener(this);
tf = new TextField(20);
f.add(tf);
g = new GridLayout(4,4,10,20);
p.setLayout(g);
p.add(b1);p.add(b2);p.add(b3);p.add(b4);p.add(b5);p.add(b6);p.add(b7);p.add(b8);p.add(b9);
p.add(b10);p.add(b11);p.add(b12);p.add(b13);p.add(b14);p.add(b15);p.add(b16);p.add(b17);
f.add(p);
f.setSize(300,300);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
s3 = tf.getText();
s4 = "0";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b2)
{
s3 = tf.getText();
s4 = "1";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b3)
{
s3 = tf.getText();
s4 = "2";
s5 = s3+s4;
tf.setText(s5);
}if(e.getSource()==b4)
{
s3 = tf.getText();
s4 = "3";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b5)
{
s3 = tf.getText();
s4 = "4";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b6)
{
s3 = tf.getText();
s4 = "5";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b7)
{
s3 = tf.getText();
s4 = "6";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b8)
{
s3 = tf.getText();
s4 = "7";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b9)
{
s3 = tf.getText();
s4 = "8";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b10)
{
s3 = tf.getText();
s4 = "9";
s5 = s3+s4;
tf.setText(s5);
}
if(e.getSource()==b11)
{
s1 = tf.getText();
tf.setText("");
c=1;
}
if(e.getSource()==b12)
{
s1 = tf.getText();
tf.setText("");
c=2;
}
if(e.getSource()==b13)
{
s1 = tf.getText();
tf.setText("");
c=3;
}
if(e.getSource()==b14)
{
s1 = tf.getText();
tf.setText("");
c=4;
}
if(e.getSource()==b15)
{
s1 = tf.getText();
tf.setText("");
c=5;
}
if(e.getSource()==b16)
{
s2 = tf.getText();
if(c==1)
{
n = Integer.parseInt(s1)+Integer.parseInt(s2);
tf.setText(String.valueOf(n));
}
else
if(c==2)
{
n = Integer.parseInt(s1)-Integer.parseInt(s2);
tf.setText(String.valueOf(n));
}
else
if(c==3)
{
n = Integer.parseInt(s1)*Integer.parseInt(s2);
tf.setText(String.valueOf(n));
}
if(c==4)
{
try
{
int p=Integer.parseInt(s2);
if(p!=0)
{
n = Integer.parseInt(s1)/Integer.parseInt(s2);
tf.setText(String.valueOf(n));
}
else
tf.setText("infinite");
}
catch(Exception i){}
}
if(c==5)
{
n = Integer.parseInt(s1)%Integer.parseInt(s2);
tf.setText(String.valueOf(n));
}
}
if(e.getSource()==b17)
{
tf.setText("");
}
}
public static void main(String[] abc)
{
calculator v = new calculator();
}
}
THE OUTPUT


No comments:
Post a Comment