Criar uma Loja Virtual Grátis
Translate to English Translate to Spanish Translate to French Translate to German Google-Translate-Portuguese to Italian Translate to Russian Translate to Chinese Translate to Japanese

Rating: 2.3/5 (121 votos)






Partilhe esta Página


COMPONENTES – VISÃO GERAL E COMPONENTE RÓTULO (JLA
COMPONENTES – VISÃO GERAL E COMPONENTE RÓTULO (JLA

Componentes Swing – Uma Visão Geral

Os componentes do swing têm uma aparência própria, diferente dos componentes equivalentes que estão ligados diretamente a um sistema operacional, como os componentes do Windows, por exemplo. Veja o exemplo da Figura 1:

 


Figura 1 – Aparência dos componentes do swing comparados aos componentes nativos do Windows

 

Perceba que, visualmente, os componentes são diferentes. Isso acontece porque no caso do swing, os componentes visuais fazem parte da máquina virtual (JVM – Java Virtual Machine) e isso o deixa totalmente independente do sistema operacional que está por trás disso tudo.

Como consequência, temos a vantagem de ter um programa feito em Java utilizando componentes swing com, exatamente, a mesma aparência quando executado em diversos sistemas operacionais. A Figura 2 mostra que nos vários sistemas operacionais (Windows, Unix, MacOS etc.) o ambiente encontrado pelo programa Java é o mesmo, ou seja, ele é compilado para ser executado em uma máquina virtual, não importando em que arquitetura computacional essa esteja inserida.

 


Figura 2 – A plataforma Java (JVM) permite manter a mesma aparência independentemente do Sistema Operacional (SO)

 

Já a figura a seguir (Figura 3) ilustra as camadas de software e hardware de um sistema computacional, destacando a máquina virtual como intermediária entre um programa feito em Java e o hardware que, efetivamente o executará. Como a figura sugere, fica a cargo da máquina virtual a tradução do programa Java para a plataforma na qual a JVM está instalada. Essa solução gera o que chamamos de portabilidade, que nada mais é do que a capacidade de se implementar e compilar um programa apenas uma vez e poder executá-lo em várias plataformas de hardware e software diferentes.

 

 


Figura 3 – Destaque da plataforma Java como intermediária entre o hardware e o software


 

Usando contêineres top-level

Contêineres são componentes que têm a capacidade de incluir outros componentes no seu interior. É o mesmo conceito para os contêineres da vida real, aquelas enormes caixas utilizadas para armazenar mercadorias transportadas por navios e caminhões de um lugar para outro. O swing provê três classes que são consideradas contêineres de mais alto nível (conhecidas também como contêineres top-level): JFrameJDialog e JApplet. Isso quer dizer que:

 


 

  • Para aparecer na tela, cada componente deve fazer parte de uma hierarquia de contêiner. Uma hierarquia de contêiner consiste em uma árvore de componentes que tem um contêiner top-level como raiz. Mostraremos um exemplo mais adiante.
  • Cada componente da GUI (Graphics User Interface, ou seja, Interface Gráfica do Usuário) deve ser inserido apenas uma vez. Se um componente já estiver em um contêiner e você tentar adicioná-lo em outro contêiner, este componente será removido do primeiro contêiner e adicionado ao segundo.
  • Cada contêiner top-level tem um content pane que contém, direta ou indiretamente, os componentes visíveis daquele contêiner top-level.
  • Você pode, opcionalmente, adicionar uma barra de menus a um contêiner top-level. A barra de menus é posicionada dentro do contêiner top-level, mas fora do content pane.

 

Figura 4 representa um JFrame criado por uma aplicação. Esse frame contém uma barra de menus (com as opções padrões) e, no content pane do frame, alguns labels (rótulos).

 


Figura 4 – JFrame mostrando a barra de menus e o content pane acomodando os labels

 

Figura 5 mostra a hierarquia de contêineres para a GUI da figura anterior.

 

 

 


 

Figura 5 – Hierarquia de contêineres utilizada no exemplo

Top-level contêineres e hierarquias de contêineres

Todo programa que usa componentes do swing tem pelo menos um contêiner top-level. Esse é a raiz da hierarquia de contêiner e esta última, por sua vez, contém todos os componentes do swing que aparecerão dentro do contêiner top-level.

Uma aplicação para desktop cuja GUI utiliza o swing tem pelo menos uma hierarquia de contêineres com um JFrame como sua raiz. Por exemplo, se uma aplicação tem uma janela principal e duas caixas de diálogo, então, a aplicação tem três hierarquias de contêiner. Uma que tem um JFrame como raiz e duas com um JDialog como raiz.

 

A classe JComponent

Com exceção dos contêineres top-level, todos os componentes do swing cujo nome começa com “J” são descendentes da classe JComponent. Por exemplo, os componentes JPanelJScrollPaneJButton e JTable herdam todas as características de JComponent. Já o JFrame e o JDialog não, porque eles são contêineres top-level.

A classe JComponent provê as seguintes características a seus descendentes:


  • Tool tips: essa propriedade lhe permite criar uma mensagem do tipo String (texto) no componente com a finalidade de mostrar ao usuário uma mensagem informativa sobre o seu conteúdo. Por exemplo, você poderia inserir uma mensagem do tipo: “Informe o CPF no formato: 999.999.99-99”, quando o componente fosse selecionado.
  • Bordas e Desenho: permite especificar as bordas de um componente, do tipo: borda de linha, borda composta, borda de título, entre outras. É possível também desenhar dentro de um componente.
  • Look-and-feel: possibilita a mudança do visual e do comportamento de um componente.
  • Propriedades customizadas: você poderá associar uma ou mais propriedades a cada JComponent.
  • Suporte a layout: possibilita a mudança das características de layout dos componentes, tais como tamanho mínimo do componente, alinhamento etc.
  • Suporte a acessibilidade: provê funcionalidades de apoio a tecnologias assistidas como leitores de tela terem acesso às informações do swing.
  • Drag and drop: provê recursos de arrastar e soltar os componentes em outras posições da tela.
  • Buffer duplo: suaviza o aparecimento dos componentes na tela.
  • Key binding: associa teclas do teclado a eventos dos componentes.

 

Componentes do swing

Nesta aula será apresentado o mais, digamos assim, indispensável dos componentes: o rótulo (JLabel). Outros componentes serão apresentados nas próximas aulas. Começaremos pelos componentes mais usados, explicando seus principais métodos e propriedades, e, com o desenvolver das aulas, veremos alguns componentes de uso mais específico e que serão utilizados em estudos posteriores. Serão mostrados exemplos do uso de cada componente, assim como serão cobrados exercícios para todos eles. Para isso, utilizaremos o Netbeans para o desenvolvimento de todos os exercícios do presente curso.

O Componente JLabel (Rótulo)

Esse é um componente bastante comum. Podemos dizer até que ele está presente em toda interface gráfica. O rótulo, mais conhecido pelo termo JLabel no NetBeans, é, geralmente, utilizado para criar títulos, como também identificar campos de formulários em uma aplicação, entre outras funções. Veja um exemplo na Figura 6.

 


Figura 6 – Exemplos de utilização do componente JLabel

 

Como implementar um rótulo na minha aplicação?

 

Acompanhe os procedimentos a seguir e veja como implementar, de uma maneira fácil, um rótulo em uma aplicação:

 

  1. Execute o NetBeans e crie uma aplicação java, conforme foi explicado na aula “Introdução ao swing”. Para o nome do projeto informe: LabelDemo (apenas uma sugestão, pode ser o nome que você achar mais conveniente).
  2. Em seguida, clique com o botão direito sobre o nome do projeto e adicione um Formulário JFrame ao projeto. Dê o mesmo nome para o formulário.
  3. Após o projeto ser criado, selecione o JFrame e arraste um componente Rótulo da paleta Controles Swing para qualquer posição da tela, conforme mostra a (Figura 7):

 


Figura 7 – Inserindo um rótulo no JFrame

 

  1. Observe as linhas tracejadas à medida que você arrasta o componente. Elas lhe auxiliam no alinhamento em relação ao formulário e outros componentes existentes nele (se houver).

 

Vejamos agora algumas propriedades que podem ser utilizadas nesse componente:

 

  • font – com essa propriedade é possível configurar diversas outras propriedades em relação à fonte, como o tipo, estilo e tamanho.
  • foreground – utilizado para alterar a cor da fonte.
  • horizontalAlignment – permite o alinhamento horizontal do texto, da propriedade text em relação às dimensões do componente. Algumas opções disponíveis: LEFTRIGHT e CENTER, entre outras.
  • verticalAlignment – permite o alinhamento vertical do texto, da propriedade text em relação às dimensões do componente. As opções disponíveis para essa propriedade são: BOTTOMTOP e CENTER.
  • icon – permite inserir um ícone no rótulo. Formatos aceitáveis: GIFJPG ou PNG.
  • border – permite aplicar uma borda em volta do componente. Há varias opções como Borda de linha, Borda de título, Borda fosca, Borda composta, entre outras.

Como mudar o tipo, estilo e tamanho da fonte


  1. No painel Propriedades, clique na opção font e, em seguida, clique no pequeno botão (de reticências) à sua direita, conforme mostra a Figura 8:

Figura 8 – Alterando a propriedade font do componente rótulo

  1. Na caixa de diálogo apresentada (Figura 9):

Figura 9 – Caixa de diálogo para alterar o tipo, o estilo e o tamanho da fonte

  1. Selecione o tipo de fonte, o estilo e o tamanho que achar mais conveniente para o seu rótulo, em seguida clique emOK para confirmar.

Como mudar a cor do rótulo


  1. Clique na opção foreground e, em seguida, clique no pequeno botão (de reticências) à sua direita para abrir a caixa de diálogo, conforme mostra a Figura 10:

Figura 10 – Opção para alterar a propriedade foreground do rótulo

  1. Na caixa de diálogo apresentada (Figura 11):

Figura 11 – Caixa de diálogo para alterar a cor do rótulo

  1. Selecione a cor que achar mais conveniente para o seu texto, em seguida, clique em OK para confirmar.


Obs.: Conforme vimos na propriedade foreground, se você já souber o código da cor que deseja, basta digitar os valores “[0,0,0]” diretamente na caixa de texto e apertar Enter. A cor da fonte será alterada para a cor especificada.

 

Como alinhar o texto na horizontal


  1. Localize a opção horizontalAlignment e, em seguida, clique na pequena seta mostrada na Figura 12:

Figura 12 – Alterando o alinhamento horizontal do rótulo

  1. Dentre as principais opções temos:
    • RIGHT – essa opção permite ao usuário alinhar o texto à direita.
    • LEFT – essa opção permite alinhar o texto à esquerda.
    • CENTER – essa opção permite ao usuário alinhar o texto no centro da área definida para o rótulo.
  2. Selecione o alinhamento que achar mais conveniente para o seu texto. Automaticamente, o texto ficará alinhado de acordo com a seleção.

 

Referências

https://moodle.metropoledigital.ufrn.br/metropole/mdweb/desenvolvimento_desktop/aula03.html Acessado em:29.08.2012

https://download.oracle.com/javase/tutorial/uiswing/components/index.html. Acessado em: 05.04.2012.

https://download.oracle.com/javase/tutorial/uiswing/components/label.html. Acessado em 05.04.2012.