AWT de Java | Clase SpringLayout

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *