Una clase SpringLayout en AWT (Abstract Window Toolkit) distribuida de los elementos secundarios a su contenedor asociado, de acuerdo con un conjunto de restricciones de diseño. Cada restricción está representada por un objeto Spring que controla la distancia vertical u horizontal entre los bordes de dos componentes. Los bordes pueden pertenecer a cualquier elemento secundario del contenedor o al propio contenedor. De forma predeterminada, SpringLayout crea restricciones que hacen que su componente asociado tenga el valor mínimo , preferido , máximo y real .
Constructor:
- SpringLayout(): Se usa para construir una nueva clase SpringLayout.
Métodos comúnmente utilizados:
- void addLayoutComponent(Component com, Object cons): si las restricciones son una instancia de SpringLayout.Constraints , asocia las restricciones con el componente especificado.
- getLayoutAlignmentX(Container c): se usa para devolver 0.5f (centrado).
- getLayoutAlignmentY(Container c): Se usa para devolver 0.5f (centrado).
- getConstraint((String edgeName, Component c): Devuelve el resorte que controla la distancia entre el borde especificado del componente y el borde superior o izquierdo de su padre.
- getConstraint(Componente c): Devuelve las restricciones para el componente especificado.
- layoutContainer (Contenedor principal): se utiliza para diseñar el contenedor especificado.
Los siguientes programas ilustran la clase SpringLayout:
- Programa 1: El siguiente programa organiza los componentes en un JFrame . Creamos 1 componente JLabel llamado » etiqueta » y creamos 1 JTextField llamado » campo de texto » y creamos 2 clases, una es la clase JFrame y otra es la clase SpringLayout y luego las agregamos al JFrame mediante el método add() . Establecemos la visibilidad del marco usando el método setvisible() . El diseño se establece mediante el método setLayout() .
// Java program to show Example of SpringLayout.
// in java. Importing different Package.
import
java.awt.Container;
import
javax.swing.JFrame;
import
javax.swing.JLabel;
import
javax.swing.JTextField;
import
javax.swing.SpringLayout;
// construct a class springdemo
public
class
Springdemo {
// It is used to create and show GUI
private
static
void
createAndShowGUI()
{
// Creating Object of "JFrame" class
JFrame frame =
new
JFrame(
"MySpringDemp"
);
// Function to set default
// close operation of JFrame.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// to get content pane
Container contentPane = frame.getContentPane();
// Creating Object of "Springlayout" class
SpringLayout layout =
new
SpringLayout();
// to set content pane
contentPane.setLayout(layout);
// Initialization of object
// "label" of JLabel class.
JLabel label =
new
JLabel(
"Label: "
);
// Initialization of object
// "label" of JLabel class.
JTextField textField =
new
JTextField(
"Enter the text "
,
15
);
// to add content pane of JLabel
contentPane.add(label);
// to add content pane of JTextField
contentPane.add(textField);
// It is used to put the layout
// constraint in JFrame using springLayout class
layout.putConstraint(SpringLayout.WEST, label,
6
, SpringLayout.WEST, contentPane);
layout.putConstraint(SpringLayout.NORTH, label,
6
, SpringLayout.NORTH, contentPane);
layout.putConstraint(SpringLayout.WEST, textField,
6
, SpringLayout.EAST, label);
layout.putConstraint(SpringLayout.NORTH, textField,
6
, SpringLayout.NORTH, contentPane);
layout.putConstraint(SpringLayout.EAST, contentPane,
6
, SpringLayout.EAST, textField);
layout.putConstraint(SpringLayout.SOUTH, contentPane,
6
, SpringLayout.SOUTH, textField);
// Function to pack the JFrame.
frame.pack();
// Function to set visible status of JFrame.
frame.setVisible(
true
);
}
// Main Method
public
static
void
main(String[] args)
{
javax.swing.SwingUtilities.invokeLater(
new
Runnable()
{
// create a class
public
void
run()
{
// to create and show GUI
createAndShowGUI();
}
});
}
}
Producción:
- Programa 2: El siguiente programa organiza los componentes en un JFrame . Creamos 1 clase llamada » clase springlayout » y creamos 4 componentes JButton llamados » b1″, «b2», «b3», «b4», «b5 » y luego los agregamos al JFrame mediante el método add() . Establecemos la visibilidad del marco usando el método setvisible() . El diseño se establece mediante el método setLayout() .
// Java program to show Example of SpringLayout.
// in java. Importing different Package.
import
java.awt.*;
import
javax.swing.*;
// construct a class Springclassdemo
public
class
Springclassdemo {
// Main Method
public
static
void
main(String[] arguments)
{
// main window
// Function to set the default look
// and feel decorated status of JFrame.
JFrame.setDefaultLookAndFeelDecorated(
true
);
// Creating Object of "JFrame" class
JFrame frame =
new
JFrame(
"SpringLayoutExample Example"
);
// Function to set the default
// close operation status of JFrame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Function to set the
// size status of JFrame
frame.setSize(
300
,
200
);
// to get the content pane
Container content = frame.getContentPane();
// Creating Object of "SpringLayout" class
SpringLayout layout =
new
SpringLayout();
// to set the layout class
frame.setLayout(layout);
// Initialization of object
// "b1" of JButton class.
Component b1 =
new
JButton(
"GEEKS"
);
// Initialization of object
// "b2" of JButton class.
Component b2 =
new
JButton(
"GFG"
);
// Initialization of object
// "b3" of JButton class.
Component b3 =
new
JButton(
"JAVA"
);
// Initialization of object
// "b4" of JButton class.
Component b4 =
new
JButton(
"Sudo Placement"
);
// Adding the JButton "b1" on frame
frame.add(b1);
// Adding the JButton "b2" on frame
frame.add(b2);
// Adding the JButton "b3" on frame
frame.add(b3);
// Adding the JButton "b4" on frame
frame.add(b4);
// It is used to put the layout
// constraint in JFrame using
// springLayout class on b1 JButton
layout.putConstraint(SpringLayout.WEST, b1,
25
, SpringLayout.WEST, content);
layout.putConstraint(SpringLayout.NORTH, b1,
10
, SpringLayout.NORTH, content);
// It is used to put the layout
// constraint in JFrame using
// springLayout class on b2 JButton
layout.putConstraint(SpringLayout.WEST, b2,
50
, SpringLayout.WEST, content);
layout.putConstraint(SpringLayout.NORTH, b2,
10
, SpringLayout.SOUTH, b1);
// It is used to put the layout
// constraint in JFrame using
// springLayout class on b3 JButton
layout.putConstraint(SpringLayout.WEST, b3,
75
, SpringLayout.WEST, content);
layout.putConstraint(SpringLayout.NORTH, b3,
10
, SpringLayout.SOUTH, b2);
// It is used to put the layout
// constraint in JFrame using
// springLayout class on b4 JButton
layout.putConstraint(SpringLayout.WEST, b4,
15
, SpringLayout.EAST, b1);
layout.putConstraint(SpringLayout.NORTH, b4,
10
, SpringLayout.NORTH, content);
// Function to set the
// visible status of JFrame
frame.setVisible(
true
);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/7/docs/api/javax/swing/SpringLayout.html
Publicación traducida automáticamente
Artículo escrito por Shivi_Aggarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA