Introdução ao SpringLayout em Java

Neste artigo, aprenderemos sobre um dos gerenciadores de layout mais flexíveis do Java, que também herda vários recursos de outros gerenciadores de layout. No AWT (Abstract Window Toolkit), uma classe SpringLayout é responsável por distribuir os filhos para o contêiner vinculado, com base no conjunto de restrições de layout.

Antes de entender o SpringLayout, vamos dar uma olhada no Spring Framework.

Simplesmente, o Spring Framework é uma solução completa para vários obstáculos. Para desenvolver aplicativos corporativos, o Spring Framework utiliza vários métodos, como injeção de dependência (DI), programação orientada a aspectos (AOP) e objeto java antigo simples (POJO). O Spring é uma estrutura leve de código aberto, que permite que os desenvolvedores Java construam aplicativos corporativos confiáveis, escaláveis ​​e simples. Lançada em 2004, a Spring teve mudanças e revisões importantes e significativas ao longo do período e conforme a necessidade.

Agora, o SpringLayout, como descrito anteriormente, é um gerenciador de layout muito flexível que herda recursos de vários outros gerenciadores de layout, foi adicionado ao JDK versão 1.4. Para estender, um gerenciador de layout é um objeto java, que implementa a interface LayoutManager e é responsável por decidir a posição e o tamanho. O Spring Layout simplesmente define o relacionamento entre as bordas dos componentes e, diferentemente de outros gerenciadores de layout, o SpringLayout não define automaticamente o local para nenhum de seus componentes. Dito isto, o SpringLayout suporta o contrato do LayoutManager2 com precisão. O SpringLayout também fornece algumas soluções para resolver problemas que não podem ser resolvidos pela intervenção das Caixas.

Construtor de SpringLayout em Java

Em termos simples, um Java Constructor é um bloco de código de programa que inicializa um objeto e tem o mesmo nome de uma classe. Existem vários tipos de construtores em java. Podemos sobrecarregar um construtor com a finalidade de criar objetos de várias maneiras e, para um compilador, um construtor é distinguido com base no número, tipos e ordem dos parâmetros passados.

public SpringLayout () é um Java Constructor simples que basicamente constrói um novo SpringLayout.

Cada classe na Java Programming Language possui um construtor, se não criado, o java chama implicitamente um construtor padrão com valores definidos como zero.

Métodos de SpringLayout em Java

Basicamente, um método java é uma coleção de instruções de programa, semelhante ao construtor mencionado acima, com um nome especificado e pode ser chamado / invocado em qualquer lugar e a qualquer momento no código. Um método pode ser visto como um subprograma. Ao contrário de um construtor, um método retorna um valor.

Agora, para avançar, a classe SpringLayout fornece uma ampla variedade de métodos, abaixo estão os poucos métodos com detalhes.

1. void addLayoutComponent (Component com, restrições de objeto): Aqui temos um tipo de modificador nulo e um método chamado addLayoutComponent, que recebe dois argumentos, como string e componente.

2. void layoutContainer (Container pai): O mesmo modificador acima, nomeado como layoutContainer e aqui parent é o container que deve ser disposto.

3. Dimension preferidoLayoutSize (pai do container): Temos a classe Dimension aqui, que resume a altura e a largura de um componente em um único objeto. E o pai é o recipiente a ser disposto.

4. Dimension minimumLayoutSize (Container pai): Com a mesma classe Dimension, minimumLayoutSize simplesmente calcula as dimensões mínimas de tamanho de um container, o pai é o container a ser organizado. SpringLayout também fornece maximumLayoutSize, com a classe Dimension, que retorna o tamanho máximo da dimensão.

5. void removeLayoutComponent (componente Component): O mesmo modificador mencionado anteriormente, com o nome do componente passado como parâmetro. Aqui, removeLayoutComponent simplesmente remove o componente mencionado no parâmetro, do layout.

6. Spring getConstraint (String edgeName, componente Component): getConstraint usa dois parâmetros, um é edgename que deve ser um dos SpringLayout.EAST, SpringLayout.WEST, SpringLayout.NORTH, SpringLayout.SOUTH, SpringLayout.VERTICAL_CENTER, SpringLayout.HORIZONTAL_CENTER ou SpringLayout.BASELINE e o nome do componente cuja borda desejamos.

7. void putConstraint (Str e1, Comp c1, int pad, Str e2, Comp c2): Este método utiliza um total de cinco parâmetros. Duas cordas, dois componentes e uma mola. putConstraint simplesmente, conecta a aresta e1 do componente c1 à aresta e2 do componente c2, juntamente com uma distância especificada entre as arestas.

Além dos métodos mencionados acima, o SpringLayout fornece uma ampla variedade de métodos para várias operações, getLayoutAlignmentX e getLayoutAlignmentY retorna 0, 5f e é do tipo float.

Programa Java Simples Demonstrando SpringLayout em Java

Agora que entendemos todo o SpringLayout junto com sua classe e métodos, vamos escrever um programa simples para demonstrar um layout de amostra. Teremos um único rótulo básico, uma caixa de texto e um título.

Abaixo está um exemplo de programa para demonstrar o funcionamento de uma classe SpringLayout.

Código:

import java.awt.Component;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
public class SpringSample (
public static void main(String args()) (
JFrame Sampleframe = new JFrame("Sample SL");
Sampleframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container sampleCP = Sampleframe.getContentPane();
SpringLayout SampleSL = new SpringLayout();
sampleCP.setLayout(SampleSL);
Component left = new JLabel("Sample Label");
Component right = new JTextField(15);
sampleCP.add(left);
sampleCP.add(right);
SampleSL.putConstraint(SpringLayout.NORTH, right, 27, SpringLayout.NORTH, sampleCP);
SampleSL.putConstraint(SpringLayout.NORTH, left, 27, SpringLayout.NORTH, sampleCP);
SampleSL.putConstraint(SpringLayout.WEST, left, 12, SpringLayout.WEST, sampleCP);
SampleSL.putConstraint(SpringLayout.WEST, right, 22, SpringLayout.EAST, left);
Sampleframe.setSize(450, 110);
Sampleframe.setVisible(true);
)
)

Salve o código acima em um arquivo com extensão .java. Compile o código java com javac filename.java e execute o arquivo de classe como uma classe java. Ao executar o código, você terá uma saída simples com um layout especificado, um único rótulo e uma caixa de texto. Consulte a captura de tela abaixo para entender melhor.

Resultado:

Interpretação de código: Inicializamos com a importação dos pacotes necessários. Chamamos JLabel, JTextField e SpringLayout de javax.swing e dois pacotes do Java Abstract Window Toolkit. Definimos uma classe e o método principal interno. Em seguida, definimos um quadro com "SpringLayout Sample" como um título. Em seguida, adicionamos um rótulo como em JLabel ("Lable1"), onde Label1 é o título do rótulo e uma caixa de texto como JTextField (15) com 15 como um contrato para especificar o tamanho da caixa de texto. Posteriormente, definimos o SpringLayout com base em todas as direções, juntamente com a esquerda e a direita com contentPane. Finalmente, definimos o tamanho do quadro com setSize (300, 100) e a visibilidade como true. E agora temos um SpringLayout simples com um único rótulo e uma caixa de texto.

Conclusão

SpringLayout é uma classe java que define os filhos de seu contêiner relacionado, conforme o conjunto de restrições. O objeto que representa essas restrições possui um valor mínimo, máximo, preferido e atual. Compreendemos a classe SpringLayout, seu construtor e métodos e as vantagens do SpringLayout sobre outros gerenciadores de layout.

Artigos recomendados

Este é um guia para o SpringLayout em Java. Aqui discutimos o construtor e os métodos do SpringLayout em java, juntamente com sua interpretação de código. Você também pode consultar os seguintes artigos para saber mais -

  1. BorderLayout em Java
  2. CardLayout em Java
  3. Layout de grade em Java
  4. BoxLayout em Java
  5. JFrame em Java
  6. JLabel em Java
  7. Layout HTML
  8. Matrizes na programação Java