Swing
O que é o Swing?
Swing é uma biblioteca de componentes de interface gráfica de usuário (GUI) para a plataforma Java. Ele fornece uma estrutura para criar interfaces gráficas de usuário para aplicativos de desktop Java.
O objetivo do Swing é fornecer uma plataforma independente de GUI que permita aos desenvolvedores criar interfaces gráficas ricas e interativas em Java. Ele é altamente personalizável e permite que os desenvolvedores personalizem a aparência e o comportamento dos componentes de interface do usuário.
A biblioteca Swing foi introduzida na versão 1.2 da plataforma Java em 1998, como uma substituição da biblioteca AWT (Abstract Window Toolkit). AWT foi a primeira biblioteca de interface gráfica de usuário da plataforma Java, mas tinha algumas limitações, incluindo a falta de recursos avançados e uma aparência inconsistente em diferentes sistemas operacionais.
Swing superou essas limitações, fornecendo recursos avançados, uma aparência consistente em diferentes sistemas operacionais e suporte a personalização. Desde então, tornou-se a biblioteca de GUI mais popular para aplicativos de desktop Java e é amplamente usada em todo o mundo.
Em resumo, Swing é uma biblioteca de GUI para Java que fornece uma estrutura para criar interfaces gráficas de usuário personalizáveis e ricas para aplicativos de desktop Java.
Hierarquia de classes
Como o Swing é organizado a partir da orientação a objetos tal qual todas as bibliotecas em Java, seus componentes podem ser organizados hierarquicamente resultando em um diagrama semelhante ao apresentado abaixo que contém alguns os principais componentes da biblioteca (hierarquia completa).
Simplificando ainda mais a hierarquia e o diagrama acima para facilitar a compreensão da biblioteca, podemos dividir a hierarquia de classes do Swing em três níveis:
Nível superior: são os elementos usados geralmente como base, isto é, fornece um lugar para se utilizar outros elementos. Exemplos desse tipo seriam as classes JFrame e JDialog.
Nível intermediário: são os elementos usados somente para manusear o posicionamento de elementos como botões e labels. Exemplos desse tipo seriam as classes JPanel, JScrollPane e JTabbedPane.
Nível atômico: são os elementos que não armazenam outros elementos. Por sua vez, trata-se de uma entidade auto suficiente, utilizada para apresentar informações ao usuário ou para receber informações fornecidas pelo usuário. Alguns exemplos são as classes: JButton, JLabel, JComboBox, JTextField e JTable, entre outras.
Por fim, o diagrama apresenta um exemplo básico do que é chamado de Hierarquia de Contensão. Cada programa que usa componentes do Swing tem pelo menos um container de nível superior que é a raiz de uma hierarquia de contenção que contém todos os componentes que aparecem em uma janela da aplicação.
Como regra geral, um aplicativo Swing tem pelo menos uma hierarquia de contenção. Por exemplo, se um aplicativo tiver uma janela principal e duas caixas de diálogo, o aplicativo terá três hierarquias de contenção e, portanto, três containers de nível superior. Uma hierarquia de contenção tem um container de nível superior como sua raiz, e cada uma das outras duas tem outro container de nível superior como sua raiz.
Tela básica
O principal elemento para criar uma GUI em Java Swing é o JFrame que, pela sua importância, não é considerado um componente pelo Swing. O JFrame é um container top-level que pode ser usada como a base da interface do usuário. Ele fornece um espaço de trabalho onde os componentes da GUI podem ser adicionados e organizados.
Alguns dos principais componentes do Java Swing incluem:
JButton: Um botão que pode ser clicado pelo usuário para executar uma ação.
JTextField: Uma caixa de texto onde o usuário pode inserir e editar texto.
JLabel: Uma texto simples utilizado para rotular elementos da interface.
JCheckBox: Uma caixa de seleção que pode ser marcada ou desmarcada pelo usuário.
JRadioButton: Um botão de opção que pode ser selecionado pelo usuário.
JList: Uma lista de itens onde o usuário pode selecionar um ou mais itens.
JTable: Uma tabela que pode ser usada para exibir dados tabulares.
JPanel: Componente cuja função é conter e organizar outros componentes.
O funcionamento básico desses componentes é bastante simples. Eles são criados em um JFrame ou outro container, como um JPanel, e então configurados com as propriedades desejadas e em seguida eles são adicionados ao container.
Por exemplo, o código a seguir cria um JFrame com um JLabel e um JButton:
import javax.swing.*;
public class MinhaJanela extends JFrame {
public MinhaJanela() {
JLabel label = new JLabel("Olá, mundo!");
JButton button = new JButton("Clique aqui");
JPanel panel = new JPanel();
panel.add(label); // Insere o label no panel
panel.add(button); // Insere o button no panel
add(panel); // Insere o panel no frame
setSize(300, 100); // Define o tamanho do frame para 300x100
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Define a operação para fechar o frame
}
public static void main(String[] args) {
MinhaJanela ex = new MinhaJanela(); // Inicializa o frame
ex.setVisible(true); // Apresenta o frame
}
}
Referências
Last updated