Descrição
O objetivo dessa
atividade prática é desenvolver um componente JavaBean gráfico, baseado na
tecnologia Java SE. Esse componente permitirá que o valor contido no campo contido
em uma interface gráfica seja calculado utilizando operações matemáticas
básicas.


O componente que
será desenvolvido pode ser utilizado no aplicativo desenvolvido no Trabalho 1,
com o intuito de calcular novos valores de produtos, aplicar descontos, etc.
Implementação
do Componente Gráfico
Para
iniciar a construção do componente, primeiro crie um novo projeto no NetBeans
do tipo ‘Aplicativo Java’. Em seguida, clique no menu ‘Arquivo à Novo Arquivo’ e
crie um 'Objeto JavaBean' do tipo ‘Personalizador’. Clique em ‘Próximo’,
especifique o nome de um pacote no qual será criado o componente e clique em
‘Finalizar’.

Adicione
os componentes que desejar no seu componente, utilizando os componentes
disponíveis na paleta do NetBeans.
Definição de Propriedades e Métodos do Componente
Você
deve definir as propriedades e os métodos do componente que serão necessários
para implementar a funcionalidade de uma calculadora simples.
O
componente deve possuir as seguintes propriedades:
· calcPanelVisible: booleano
que define se o painel da calculadora deve ser exibido;
· value: um double
com o valor exibido no campo;
· font: fonte do
texto do componente (campo com o valor e botões da calculadora).
Propriedades
podem ser geradas clicando com o botão da direita do mouse em qualquer ponto
do código-fonte da classe do componente, selecionando ‘Inserir Código’ e em
seguida clicando em ‘Adicionar propriedade’:

Na
janela ‘Adicionar propriedade’, especifique o nome, valor inicial e o tipo da
propriedade, e os métodos de acesso que devem ser gerados.

Em
alguns casos pode ser necessário adicionar código aos métodos de acesso
gerados automaticamente, para que seja executado o comportamento adequado. Se
preferir, você pode criar a propriedade manualmente, adicionando ao
código-fonte a declaração do atributo e os métodos de acesso, respeitando as
convenções de nomeação.
Caso
julgue adequado, implemente outros métodos que possam ser necessários para
interação com o componente.
Efetue
o tratamento dos eventos gerados pela interação do usuário com os botões do
componente. Isso deve ser feito alterando propriedades e/ou efetuando
chamadas a métodos que ativem o respectivo comportamento.
Durante
seu desenvolvimento, o componente pode ser testado criando uma aplicação com um
método main() para teste.
public static void main(String[] args) {
javax.swing.JFrame frame = new javax.swing.JFrame(); //
Cria frame
xxxxxxxxBean bean = new xxxxxxxxBean (); // Instancia o bean
// Alterar as propriedades que julgar necessárias aqui!
frame.add(bean); // Adiciona bean ao frame
frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); // Exibe o frame
}
Descritor do Componente
Depois de
criado o componente, crie também uma classe do tipo BeanInfo, que fornecerá
informações sobre o componente. A classe BeanInfo pode ser criada através do
menu ‘Arquivo à Novo Arquivo’, na
categoria ‘Objetos JavaBeans’, e deve ser dado a ela um nome igual ao nome do
componente, acrescido de ‘BeanInfo’. Crie um construtor para o BeanInfo e
defina os valores dos seguintes atributos, que serão úteis para que o
componente seja exibido adequadamente no NetBeans:
·
iconNameC16:
arquivo com um ícone de 16x16 pixels colorido que represente o
componente;
·
iconNameC32:
arquivo com um ícone de 32x32 pixels colorido que represente o
componente;
·
iconNameM16:
arquivo com um ícone de 16x16 pixels monocromático que represente o
componente;
·
iconNameM32:
arquivo com um ícone de 32x32 pixels monocromático que represente o
componente;
·
beanDescriptor:
objeto da classe BeanDescriptor que contém o nome e uma descrição do
componente.
Edite também o arquivo ‘manifest.mf’,
localizado na pasta raiz do projeto, que pode ser acessado na janela
‘Arquivos’.

Especifique
o nome completo da classe e indique que se trata de um JavaBean.
Manifest-Version:
1.0
Name: /pacote/NomeDaClasse.class
Java-Bean: True
Por
fim, compile o projeto para que seja criado o arquivo de distribuição (JAR)
do componente.
Testando o Componente
Após
concluídos os testes, adicione o bean na paleta de componentes do NetBeans,
abrindo o ‘Gerenciador de Paleta’ - clique na paleta com o botão da direita
do mouse e escolha a opção ‘Gerenciador de Paleta’. Em seguida, clique no
botão ‘Adicionar JAR’, selecione o arquivo JAR do bean (contido na pasta
‘dist’ do projeto) e o adicione à categoria ‘Beans’.
Para
finalizar a atividade, insira o componente na aplicação criada no Trabalho 1,
configure as propriedades do componente, execute a aplicação e teste o seu
funcionamento.
Avaliação
A atividade deve ser desenvolvida em
duplas. A apresentação deve ser feita até o dia 22/10. Os dois
integrantes do grupo devem estar presentes no momento da apresentação. Será
verificado o funcionamento do programa e em seguida os alunos devem responder
oralmente a questões formuladas pelo professor sobre o código fonte do
programa. Podem ser atribuídas notas diferentes aos integrantes de um grupo,
dependendo das respostas às perguntas sobre o código do programa efetuadas
pelo professor. Caso um dos alunos não esteja presente ou demonstre não
conhecer o código do programa, este ficará com nota zero na atividade. Em
caso de cópia do código de outro grupo, ambos terão nota igual a zero.
Dúvidas
Material
para Consulta
·
Help e
página do NetBeans.
· Documentação da API do Java.
Atendimento
aos Alunos
- Horário: Terças-feiras das 16:20 às
18:00.
- Local: Prédio do INE - Sala 305.
E-Mail
f r a n k @ i n f . u f s c . b
r
l a u . l u n g @ i n f . u f s
c . b r
Mantida por Frank
Siqueira. Atualizada em 08/10/2012.
|