• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Interfaces gráficas com Eclipse WindowBuilder

    Interfaces gráficas com Eclipse WindowBuilder

    9 min9 minutos de leitura

    9 min9 minutos de leitura

    Publicado: 14/08/2022

    1. Introdução
    2. O Plug-in WindowBuilder
    3. História
    4. Estrutura e composição
    5. Instalação
    6. Componentes
    7. Look and Feel

    Introdução

    É possível criar interfaces de usuários de forma ágil e fácil em Java? Sim, com Java tudo é possível e existe um aliado para essa tarefa: o plug-in WindowBuilder para o Eclipse.

    Atualmente a demanda para aplicações em desktop são menores se comparada com outras plataformas, mas isso não significa que deixarão de existir - vide as populares Discord, Slack e GitHub Desktop, desenvolvidas em outras linguagens. Em Java, os exemplos mais conhecidos são o Acrobat Reader, ThinkFree, e o Media Player.

    Se você precisa criar um projeto pessoal, de estudo, ou até mesmo um sistema para uma empresa com construção de GUI (Graphical User Interface - Interface Gráfica do Usuário) utilizando Java, o WindowBuilder é uma ótima opção. Além das suas características, será apresentada parte de sua história, sua estrutura, forma de instalação e componentes.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    O Plug-in WindowBuilder

    O Eclipse é uma IDE (Integrated Development Environment - Ambiente de Desenvolvimento Integrado) com estrutura extensível e permite adicionar novas funcionalidades e customizar as existentes através de plug-ins, como também removê-las. Eles são divididos em duas categorias: os plug-ins de UI, que contêm aspectos de uma interface de usuário ou que dependem de outros plug-ins, e os plug-ins do Core sem interface e independentes.

    Com design WYSIWYG (What You See Is What You Get - O que você vê é o que você obtém) , o WindowBuilder é um plug-in que permite criar layouts inteligentes e fáceis através do drag-and-drop (arrastar e soltar) e ver o resultado em tempo real, e além disso permite adicionar manipuladores de eventos aos componentes e alterar várias propriedades de widgets através do editor de propriedades.

    A ferramenta é bidirecional, isto é, é possível editar tanto o código-fonte como alterar os componentes na janela de design para realizar mudanças nos layouts. Ambas representações estão sincronizadas, qualquer atualização reflete na outra.

    O aplicativo em desenvolvimento pode ser facilmente adaptado a vários idiomas e regiões sem alterações em sua estrutura interna, proporcionando recursos de forma automática. A ferramenta também oferece recursos de engenharia reversa, é possível usar o código existente como base inicial para um novo projeto.

    Outro recurso importante está relacionado às alterações mínimas no código, a ferramenta utiliza um estilo de microedição que garante que a menor alteração possível seja feita na fonte, preservando todo o código e formatação do usuário.

    Além disso, o WB (WindowBuilder) suporta herança visual, criando hierarquia dos componentes visuais em uma janela, e também oferece o Morphing Tools (Ferramentas de Transformação), convertendo um tipo de componente em outro.

    História

    Seus primórdios antecedem a criação da linguagem Java, e ao longo de sua história teve a participação de grandes empresas:

    1991 – Lançamento original de Smalltalk/V por Cooper & Peters

    A Smalltalk é uma linguagem criada pela Xerox e que popularizou o paradigma de Orientação à Objetos. O Smaltalk/V passou a oferecer um ambiente de janelas e foi desenvolvido pela empresa Digitalk.

    1993 – Lançamento do VisualSmalltalk pela ObjectShare

    O Smalltalk/V da Digitalk tornou-se o VisualSmalltalk Enterprise. Os cofundadores da Instantiations fundaram a ObjectShare Systems, um importante fornecedor de produtos Smalltalk e que também desenvolveu o WindowBuilder Pro.

    1994 – Lançamento do VisualAge Smalltalk pela ObjectShare

    A IBM usou as tecnologias Smalltalk incorporadas à empresa OTI (Object Technology International) como base do VisualAge.

    1997 – Lançamento VisualAge Smalltalk por Instantiations

    A Instantiations assumiu o suporte ao VisualAge Smalltalk da IBM.

    2003 – Nova versão Eclipse/Java para SWT/RCP (SWT Designer)

    2004 – Adicionado suporte Swing (Swing Designer)

    2006 – Adicionado suporte ao Google Web Toolkit (GWT Designer)

    2009 – Comunidade Eclipse premiada pelo melhor Complemento Comercial

    2010 – Adquirido pelo Google e lançado gratuitamente para o mundo

    Somente os produtos Java da Instantiations passaram a pertencer ao Google.

    Mãos montando uma parede de tijolos, e em cada tilojo algo escrito, sendo:

    O WindowBuilder tornou-se um projeto * * e atualmente é mantido pela Eclipse Foundation, fundação sem fins lucrativos com membros que apoiam e desenvolvem software livre através do Eclipse Projects.

    Estrutura e composição

    Sua estrutura está baseada em bibliotecas populares como o Swing e SWT, é composta também pelo GWT, RCP e XWT UI frameworks. Além disso, o WindowBuilder constrói uma árvore de sintaxe abstrata (AST) possibilitando o acesso ao código-fonte e, através do GEF, realiza a exibição e gerenciamento do layout.

    E essas siglas que o compõem e o tornam poderoso e flexível, o que significam? Para um melhor entendimento, segue a descrição de cada uma:

    AST (Abstract Syntax Tree - Árvore de Sintaxe Abstrata) - O código desenvolvido é convertido em diversos tokens e após uma análise sintática, a lista de tokens transforma-se em uma árvore que representa a estrutura real do código. Cada nó da árvore indica uma construção que ocorre no código-fonte. Não existe um padrão AST, ele pode variar de acordo com a linguagem e ferramenta utilizadas.

    GEF (Graphical Editing Framework - Estrutura de Edição Gráfica) - Oferece um kit de ferramentas para construir elementos de interface gráfica de usuário interativos e dinâmicos, com a capacidade de adicionar, mover, redimensionar e excluir os elementos gráficos que representam esses itens, facilitando o desenvolvimento de editores gráficos ricos.

    GWT (Google Web Toolkit - Kit de ferramentas da Web do Google) - É um kit de ferramentas de código-aberto com estrutura de desenvolvimento de software em Java, e facilita a criação de aplicativos AJAX. Através do compilador do GWT é possível converter a aplicação Java em JavaScript e HTML.

    RCP (Rich Client Platform - Plataforma de Cliente Rica) - É um programa de computador para a criação de aplicações Java construído sob a arquitetura do Eclipse. Permite às pessoas desenvolvedoras personalizar os componentes e tornar as aplicações portáteis e reutilizáveis. Assim, o conjunto mínimo de plug-ins necessários para construir um aplicativo é conhecido como Rich Client Platform.

    SWING - Não é uma abreviação ou acrônimo, mas sim o nome de uma das bibliotecas para o desenvolvimento de aplicações desktop em Java. Foi criada para substituir a AWT (Abstract Window Toolkit - Kit de Ferramentas de Janela Abstrata), primeira biblioteca GUI da linguagem, já que seus componentes eram implementados de acordo com a estética de cada sistema operacional. A contribuição do Swing era rodar uma interface única em qualquer sistema operacional em que fosse executado.

    SWT (Standard Widget Toolkit - Kit de Ferramentas de Widget Padrão)

    É uma biblioteca criada pela IBM que oferece widgets de interface do usuário integrados ao sistema operacional, porém a API é independente do SO. Pode ser utilizada para apresentar uma interface nativa para os usuários.

    XWT (XML Window Toolkit - Kit de Ferramentas de Janela XML)

    Baseada na linguagem de marcação XML, trata-se de uma estrutura de UI declarativa poderosa e leve projetada para o Eclipse.

    A versão WindowBuilder 4.0 passou a possibilitar que os componentes SWT e Swing sejam combinados empregando as principais APIs Java para a construção de janelas.

    Instalação

    A instalação é simples e rápida. O primeiro passo é acessar o menu Help dentro do editor e selecionar Eclipse MarketPlace:

    Em seguida, abrirá uma janela com um campo de busca, basta digitar windowbuilder, clicar em Go, e será apresentada de início a versão mais recente. Para finalizar, clique em Install:

    Selecione todas as opções e clique em Confirm:

    A próxima janela será referente aos termos de uso, sendo necessário aceitá-los para finalizar a instalação:

    Após completar o processo, o editor será reiniciado. Será essa a apresentação ao utilizar o plug-in:

    Pantalla con la estructura de WindowBuilder, al lado izquierdo y en la parte superior están las herramientas, al lado derecho el espacio para la construcción del diseño.

    Agora, se você baixar um projeto pronto feito através do WB e deseja realizar alterações, é possível fazer diretamente no código, mas se preferir pela interface gráfica, clique sobre a classe que deseja trabalhar com o botão direito do mouse e selecione OpenWith, WindowBuilder.

    Dessa forma, será aberta a aba de Design para manipulação, acima da área do Console.

    Componentes

    Seus principais componentes da interface serão apresentados:

    Design View (Visualização do Design) - é nesse campo que acompanhamos a construção e resultado da interface gráfica.

    Source View (Visualização da Origem) - espaço para escrever o código e revisar o que foi gerado automaticamente.

    Structure View (Visualização da Estrutura) - ela é composta pela Árvore de Componentes e o Painel de Propriedades.

    Na Árvore de Componentes podemos ver a relação hierárquica entre eles. Além das propriedades, no Painel de Propriedades, apresentam-se os eventos dos componentes selecionados.

    Palette (Paleta) - fornece o acesso aos componentes específicos do kit de ferramentas.

    Toolbar (Barra de Ferramentas) - oferece acesso aos principais comandos utilizados.

    Context Menu (Menu de Contexto) - como na Barra de Ferramentas, oferece acesso aos principais comandos utilizados, porém com recursos mais limitados.

    Look and Feel

    Trata-se de um termo do inglês, e o look que significa olhar, refere-se ao layout da aplicação. O feel, que significa sentir, está relacionado à experiência do usuário. O propósito dessa junção é ajudar a referenciar a identificação de uma marca e propor uma interface intuitiva, com menos carga de memorização.

    O Look and Feel padrão do editor é o Metal, com a mesma apresentação visual em todas as plataformas. Para utilizar uma diferente, é necessário setar outro através do método UIManager.setLookAndFeel() com o nome especificado da subclasse apropriada de L&F como seu argumento.

    Conclusão

    As possibilidades de criar projetos utilizando Java são imensas, além de ser uma linguagem poderosa, conta com uma comunidade grande e engajada e também com diversas ferramentas de apoio.

    Desenvolver com WindowBuilder além de ser simples, é divertido. Desde pequenas janelas de inputs, até sistemas de gerenciamento, ele possibilita a investigação e a prática da linguagem Java.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Ellen Pimentel

      Autor(a)

      Ellen Pimentel

      Ellen iniciou sua carreira em programação como Desenvolvedora Front-End e atualmente integra a equipe de Instrutores de Java na Alura Latam. Além da área de desenvolvimento, gosta de estudar sobre processos e negócios, tem Especialização em Gestão de Projetos e experiência em educação através de projetos educacionais em ciência e ensino de idioma.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 06/06/2023

      Qual é a melhor linguagem de programação?

      Ler mais
    • 07/03/2012

      Classes aninhadas: o que são e quando usar?

      Ler mais
    • 23/12/2021

      Stickers Dev: Aluraverso no Whatsapp e Telegram

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura