• Nenhum resultado encontrado

O desenvolvedor possui uma va- riedade grande de APIs para de- senvolver interfaces com o usuá- rio no Java. Duas se destacam: o AWT e o Swing.

O AWT – Abstract Window To- olkit- é o antigo conjunto de fer- ramentas para interfaces gráficas do Java. Serve para oferecer in- fraestrutura mínima de interface gráfica (nivela por baixo).

Os componentes do Abstract Win- dow Toolkit estão no pacote java. awt.*. Ele contém todas as classes para criação de interfaces, entre- tanto apresenta alguns problemas:

a aparência dos componentes dependente de plataforma na qual a aplicação será executada;

é limitada em recursos por depender de suporte de cada plataforma para os componentes oferecidos;

bugs e incompatibilidades entre plataformas.

A resposta a essas limitações foi o desenvolvimento do Swing. O Swing é um conjunto de compo- nentes gráficos, que dão suporte à construção de aplicações Java com interface gráfica e interativi- dade. Ele faz parte da Java Founda- tion Classes (JFC).

Os componentes de Swing fazem parte do pacote javax.swing.*. Os componentes têm como objetivo, prover o mesmo comportamento, independente do sistema opera-

JTextField;

JTextArea;

JRadioButton;

ButtonGroup;

JCheckBox;

JComboBox;

JPanel;

JScrollPane.

Confira algumas características do Swing:

grande variedade de compo- nente;

Java 2D API;

Look-and-Feel;

Internationalization;

Accessibility API.

SEÇÃO 2

Alô Senai!

Alô, SENAI! é um exemplo, bem básico, para criação de um pro- grama com interface gráfica. O objetivo é criar uma janela sim- ples, que possuirá um rótulo, um campo de edição e um botão. No campo de edição, o usuário pode- rá escrever um texto, nesse caso, o seu nome. Ao clicar sobre o bo- tão, a aplicação exibirá uma men- sagem, cumprimentando o usuá- rio, utilizando o texto informado. Os elementos que compõe uma

n (janela, painel): local onde são adicionados os componentes ou outros containers;

componentes: botões, labels, listbox, menus etc.

gerenciador de layout: ob-

jeto responsável pelo posiciona- mento dos componentes inseri- dos num determinado container. O componente Swing, que repre- senta telas no sistema operacio- nal, é o JFrame. As janelas criadas, pelos desenvolvedores, derivam dela. Pode-se criar aplicações Swing inteiras, usando apenas um editor de texto e um compilador Java, mas, para facilitar o trabalho, é melhor utilizar o NetBeans. Uma aplicação Swing usa, nor- malmente, pelo menos um JFra- me. Um objeto derivado JFrame implementa uma única janela. Ele possui elementos chamados deco- rações, que são:

a borda,

o título;

os botões para maximizar, minimizar e fechar a janela. Além do JFrame, pode ser utiliza- do, como componente base para aplicações, o JDialog ou o JAp- plet. Estes possuem um content pane. O content pane é um container sobre o qual serão adicionados os componentes gráficos que irão compor a aplicação.

O primeiro passo é criar um novo projeto no NetBeans. Nesse exemplo, será criado um projeto chamado AloSenaiSwing. Para isso, foi criado o pacote com.senai.alosenai e, nesse pacote, deve-se criar um novo formulá- rio JFrame, conforme as figuras 30 e 31.

Figura 30: Criando um JFrame

Figura 31: Nomeando um JFrame criado

O resultado dessa operação será a apresentação de um formulário em branco, onde é possível adicionar os demais componentes.

O NetBeans controlará todo o código destinado à criação das janelas, inclusive quando uma classe derivada de JFrame for salva.O NetBeans cria um arquivo auxiliar para tratar dos componentes presentes na tela, e demais informações, necessárias, no momento ao qual está se desen- volvendo um formulário na IDE. Esse arquivo possui a extensão .form.

Na figura 32, você pode ver o resultado dessa operação, e um pouco da forma como o Netbeans trata aplicações Swing.

Figura 32: Editor NetBeans

É preciso adicionar os componentes necessários ao JFrame, indicando o local que se deseja incluir o componente no formulário. O NetBe- ans apresentará réguas para auxiliar no processo de posicionamento dos componentes. Os componentes a serem adicionados são:

rótulo (JLabel);

campo de texto (JTextField);

botão (JButton).

O próximo passo é configurar os componentes, para isso, é preciso cli- car sobre o formulário. No canto inferior esquerdo, serão apresentadas as propriedades do formulário. Altere, se for preciso, as seguintes pro- priedades:

defaultCloseOperation: esta propriedade define como a Virtual Machine deve tratar o formulário após ele ter sido fechado. O valor deve ser: EXIT_ON_CLOSE;

title: essa é a propriedade que trata do título da janela. Altere para:

“Alo SENAI!”.

Os componentes, no swing, mantêm um mesmo padrão para nome das propriedades, por isso, praticamente, todos os componentes possuem propriedades como text e enable. Isto se deve ao fato da árvore de he- ranças dos componentes do Swing. Veja detalhes na figura seguinte.

Figura 33: Árvore de componentes Swing

Deve-se alterar a propriedade Text dos componentes a seguir.

rótulo (JLabel): altere o texto para “Nome”

campo de texto (JTextField): altere o texto para “Senai”

botão (JButton): altere o Texto para “Clique Aqui!”

Neste momento, a aplicação já pode ser executada, entretanto, o botão ainda não realiza nenhuma ação. O código das ações que um compo- nente realiza, em resposta a uma ação do usuário ou do sistema, chama- -se Evento. Os eventos, da mesma forma que as propriedades, seguem um mesmo padrão entre os diversos componentes. Para adicionar uma ação a um botão, há duas opções: por meio da paleta de propriedades, selecionando na listagem de eventos o enveto actionPerformed, ou dando um duplo clique sobre o componente, dessa forma, é adicionado, auto- maticamente, um evento do tipo actionPerformed. Ao se realizar essa ação, aparecerá no editor o método jButton1ActionPerformed. Deve-se adicionar o código para que fique similar às informações a seguir. O código exe- cutado desse projeto pode ser observado na figura 34.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

JOptionPane.showMessageDialog(this.getRootPane(), “Alo “+jTextField1.getText()+”!”,”Mensagem de Alô!”, JOptionPane.INFORMATION_MESSAGE);

Figura 34: Execução do projeto

O JOptionPane permite exibir mensagens, que permitem a interação com o usuário. Existem diversos tipos de mensagens. Veja!

MessageDialog: é utilizado apenas para emitir uma mensagem,

possibilitando que ela tenha um tipo. No exemplo, o tipo de mensagem foi definido como information. Além desse, há Error, Warning, Ques- tion . etc.

InputDialog: exibe uma mensagem com uma caixa de edição, per-

mitindo que o usuário informe um valor. Exemplo:

String pessoa = JOptionPane.showInputDialog(“Quem é você?”);

ConfirmDialog: apresenta uma mensagem, onde o usuário pode

selecionar entre opções. Exemplo:

int opSelecionada = JOptionPane.showConfirmDialog(null, “Confirma exclusão?”);

Além dos componentes, que foram utilizados nesse exemplo, existem outros importantes. Junto com o JDK é enviado um demo do Swing, onde se pode observar todo o potencial da biblioteca, disponível em {diretório de instalação do JDK}\Demo\JFC\SwingSet2}.

Entre os diversos componentes disponíveis vale destacar mais alguns.

JPasswordField: caixa de texto com possibilidade de formatação.

JCheckBox: botão de checagem.

JRadioButton: botão mutuamente exclusivo.

JComboBox: caixa de edição com lista de seleção.

Jlist: lista de elementos.

JMenuBar; JMenuItem; JMenu; JCheckBoxMenuItem e JRa- dioButtonMenuItem: elementos para menu.

SEÇÃO 3

Containers e

No documento Programação_Orientada_ObjetoII (páginas 60-64)

Documentos relacionados