Swing (Java)

Balanço

Descrição desta imagem, também comentada abaixo Captura de tela de uma janela de exemplo Em formação
O Criador Sun Microsystems
Desenvolvido por Oráculo
Status do projeto Manutenção ativa Manutenção ativa
Escrito em Java
Meio Ambiente Máquina Virtual JAVA
línguas inglês
Modelo Biblioteca Java ( d )
Política de distribuição Livre
Licença GLP

Cronologia das versões

Swing é uma biblioteca gráfica para a linguagem de programação Java , parte do pacote Java Foundation Classes (JFC), incluído no J2SE . Swing é uma das principais mudanças trazidas pelo Java 2 em comparação com as versões anteriores.

O Swing oferece a capacidade de criar interfaces gráficas idênticas , independentemente do sistema operacional subjacente, ao custo de um desempenho inferior do que usar o Abstract Window Toolkit (AWT). Ele usa o princípio Model-View-Controller (MVC, componentes Swing na verdade desempenham o papel de visão no significado de MVC ) e tem várias opções de aparência para cada um dos componentes padrão.

Com o aparecimento do Java 8 em Março 2014, JavaFX torna-se a biblioteca gráfica oficial da linguagem Java, para todos os tipos de aplicativos (aplicativos móveis, aplicativos de desktop, aplicativos web), o desenvolvimento de seu predecessor Swing sendo abandonado (exceto para correção de bugs).

Relacionamento com AWT

Desde as primeiras versões do Java, o Abstract Window Toolkit (AWT) fornece uma API independente do sistema operacional para implementar componentes gráficos. No AWT, cada componente é projetado e controlado por um componente nativo de terceiros específico para o sistema operacional. É por isso que os componentes do AWT são chamados de componentes pesados .

Pelo contrário, os componentes Swing são descritos como leves . Isso ocorre porque eles não exigem a alocação de recursos nativos do gerenciador de janelas subjacente, mas “emprestam” recursos de seus ancestrais.

Muito da API Swing é um complemento do AWT, em vez de uma substituição direta. A exibição é fornecida pelo Java2D , outro componente do JFC. No entanto, o uso conjunto de componentes leves e pesados ​​dentro da mesma janela geralmente não é recomendado devido a problemas de gerenciamento de profundidade.

Exemplo

O programa a seguir é um hello world in Swing:

import javax.swing.JFrame; import javax.swing.JLabel; public class HelloWorld { public static void main(String[] args) { // on crée une fenêtre dont le titre est "Hello World!" JFrame frame = new JFrame("Hello World!"); // la fenêtre doit se fermer quand on clique sur la croix rouge frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // on ajoute le texte "Hello, World!" dans la fenêtre frame.getContentPane().add(new JLabel("Hello, World!")); // on demande d'attribuer une taille minimale à la fenêtre // (juste assez pour voir tous les composants) frame.pack(); // on centre la fenêtre frame.setLocationRelativeTo(null); // on rend la fenêtre visible frame.setVisible(true); } }

Apêndices

Artigos relacionados

links externos

Notas e referências

Referências

  1. (in) Mistura de componentes pesados ​​e leves - Sun Developer Network .