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