Nested Classes: Constraints - Constraints Are Nothing But Horizontal and Vertical Distance Between Two Component
Nested Classes: Constraints - Constraints Are Nothing But Horizontal and Vertical Distance Between Two Component
constraints.Constraints are nothing but horizontal and vertical distance between two component
edges. Every constrains are represented by a SpringLayout.Constraint object.
Each child of a SpringLayout container, as well as the container itself, has exactly one set of
constraints associated with them.
Each edge position is dependent on the position of the other edge. If a constraint is added to
create new edge than the previous binding is discarded. SpringLayout doesn't automatically set
the location of the components it manages.
Nested Classes
Modifier
Class Description
and Type
It is a Constraints object helps to govern component's
static class SpringLayout.Constraints size and position change in a container that is controlled
by SpringLayout
Fields
Modifier and
Field Description
Type
static String BASELINE It specifies the baseline of a component.
It specifies the right edge of a component's
static String EAST
bounding rectangle.
It specifies the height of a component's bounding
static String HEIGHT
rectangle.
It specifies the horizontal center of a component's
static String HORIZONTAL_CENTER
bounding rectangle.
It specifies the top edge of a component's bounding
static String NORTH
rectangle.
It specifies the bottom edge of a component's
static String SOUTH
bounding rectangle.
It specifies the vertical center of a component's
static String VERTICAL_CENTER
bounding rectangle.
It specifies the left edge of a component's bounding
static String WEST
rectangle.
It specifies the width of a component's bounding
static String WIDTH
rectangle.
Useful Methods
Example
1. import java.awt.Container;
2. import javax.swing.JFrame;
3. import javax.swing.JLabel;
4. import javax.swing.JTextField;
5. import javax.swing.SpringLayout;
6. public class MySpringDemo {
7. private static void createAndShowGUI() {
8. JFrame frame = new JFrame("MySpringDemp");
9. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
10.
11. Container contentPane = frame.getContentPane();
12. SpringLayout layout = new SpringLayout();
13. contentPane.setLayout(layout);
14.
15. JLabel label = new JLabel("Label: ");
16. JTextField textField = new JTextField("My Text Field", 15);
17. contentPane.add(label);
18. contentPane.add(textField);
19.
20. layout.putConstraint(SpringLayout.WEST, label,6,SpringLayout.WEST, contentP
ane);
21. layout.putConstraint(SpringLayout.NORTH, label,6,SpringLayout.NORTH, cont
entPane);
22. layout.putConstraint(SpringLayout.WEST, textField,6,SpringLayout.EAST, label
);
23. layout.putConstraint(SpringLayout.NORTH, textField,6,SpringLayout.NORTH, c
ontentPane);
24. layout.putConstraint(SpringLayout.EAST, contentPane,6,SpringLayout.EAST, te
xtField);
25. layout.putConstraint(SpringLayout.SOUTH, contentPane,6,SpringLayout.SOUT
H, textField);
26.
27. frame.pack();
28. frame.setVisible(true);
29. }
30. public static void main(String[] args) {
31. javax.swing.SwingUtilities.invokeLater(new Runnable() {
32. public void run() {
33. createAndShowGUI();
34. }
35. });
36. }
37. }
Output: