Friday, 14 July 2017

SpringLayout in java ~ java help

Java SpringLayout

SpringLayout arranges the children of its associated container according to a set of 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 and TypeClassDescription
static classSpringLayout.ConstraintsIt is a Constraints object helps to govern component's size and position change in a container that is controlled by SpringLayout

Fields

Modifier and TypeFieldDescription
static StringBASELINEIt specifies the baseline of a component.
static StringEASTIt specifies the right edge of a component's bounding rectangle.
static StringHEIGHTIt specifies the height of a component's bounding rectangle.
static StringHORIZONTAL_CENTERIt specifies the horizontal center of a component's bounding rectangle.
static StringNORTHIt specifies the top edge of a component's bounding rectangle.
static StringSOUTHIt specifies the bottom edge of a component's bounding rectangle.
static StringVERTICAL_CENTERIt specifies the vertical center of a component's bounding rectangle.
static StringWESTIt specifies the left edge of a component's bounding rectangle.
static StringWIDTHIt specifies the width of a component's bounding rectangle.

Useful Methods

Modifier and TypeMethodDescription
voidaddLayoutComponent(Component component, Object constraints)If constraints is an instance of SpringLayout. Constraints, associates the constraints with the specified component.
voidaddLayoutComponent(String name, Component c)Has no effect, since this layout manager does not use a per-component string.
SpringgetConstraint(String edgeName, Component c)It returns the spring controlling the distance between the specified edge of the component and the top or left edge of its parent.
SpringLayout.ConstraintsgetConstraints(Component c)It returns the constraints for the specified component.
floatgetLayoutAlignmentX(Container p)It returns 0.5f (centered).
floatgetLayoutAlignmentY(Container p)It returns 0.5f (centered).
voidinvalidateLayout(Container p)It Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.
voidlayoutContainer(Container parent)It lays out the specified container.
DimensionmaximumLayoutSize(Container parent)It is used to calculates the maximum size dimensions for the specified container, given the components it contains.
DimensionminimumLayoutSize(Container parent)It is used to calculates the minimum size dimensions for the specified container, given the components it contains.
DimensionpreferredLayoutSize(Container parent)It is used to calculates the preferred size dimensions for the specified container, given the components it contains.

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, contentPane);  
  21.             layout.putConstraint(SpringLayout.NORTH, label,6,SpringLayout.NORTH, contentPane);  
  22.             layout.putConstraint(SpringLayout.WEST, textField,6,SpringLayout.EAST, label);  
  23.             layout.putConstraint(SpringLayout.NORTH, textField,6,SpringLayout.NORTH, contentPane);  
  24.             layout.putConstraint(SpringLayout.EAST, contentPane,6,SpringLayout.EAST, textField);  
  25.             layout.putConstraint(SpringLayout.SOUTH, contentPane,6,SpringLayout.SOUTH, 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:
Java Springlayout 1

No comments:

Post a Comment