Desenvolvimento de aplicações com JBuilder

Propaganda
Desenvolvimento de aplicações com JBuilder
Sérgio Furgeri
Analista de Sistemas pela Unimep – Piracicaba, Mestre em Gerenciamento
de Sistemas de Informação pela PUC-Campinas, autor de diversos livros na
área de computação e Consultor de Sistemas da empresa TiSoft.
Resumo
A área computacional tem sofrido profundas mudanças nos últimos anos,
principalmente no que diz respeito à maneira como os programas são
criados a partir das linguagens de programação. Dentro deste contexto, a
linguagem de programação Java tem contribuído para inserir novos
conceitos e metodologias de desenvolvimento de software. Devido ao
grande sucesso da linguagem Java, diversos fabricantes de software tem
criado ferramentas RAD (Rapid Application Development) para agilizar o
processo de desenvolvimento. Este artigo apresenta uma ferramenta o
JBuilder, uma ferramenta RAD para criação de aplicações em Java. Será
fornecida uma visão geral sobre a ferramenta e também os passos
necessários para a criação de uma pequena interface do usuário.
Palavras-chave
Java, JBuilder, IDE, RAD, aplicação.
1
1. Introdução
Nos últimos anos Java tem se destacado no mercado de software e se tornado
uma das linguagens de programação mais usadas. A tendência da utilização da
linguagem Java se evidencia mais e mais a cada dia. Um recente estudo feito no
final de 2003 pela BZ Research indicou um aumento na utilização do Java, onde
72% dos 950 pesquisadores entrevistados afirmaram utilizar o Java como linguagem
de programação, enquanto que em 2002 esse número era de apenas 50%.
Comparando-se Java com sua principal concorrente em termos de linguagem de
programação, outra pesquisa realizada em Julho do mesmo ano dizia que somente
17% dos pesquisadores usavam sistemas.NET (Software Development Times, 2003).
Java tem literalmente invadido diversos segmentos sendo usada, por exemplo, no
desenvolvimento de aplicativos para Desktop (Deitel, 2000), aplicações Web
(Morgan, 2000) e, mais recentemente, sua utilização tem se voltado para o mercado
de pequenos dispositivos móveis, como celulares e PDA's - Personal Digital
Assistance (Muchow, 2002) e JavaTv (Sun, 2004).
Devido ao grande sucesso de Java, diversos fabricantes de software têm
investido nesta linguagem, adaptando seus sistemas para que, de alguma forma,
possam interagir com "coisas" criadas a partir de Java. Atentas a essa clara
demonstração de que a linguagem Java ainda tem um grande potencial a ser
explorado pelo mercado, foram criadas ferramentas para aumentar a eficiência no
desenvolvimento em Java. Inicialmente, essas ferramentas funcionavam como
meros editores de texto usados para criar um ambiente mais amigável. Com o passar
dos anos, as ferramentas foram ganhando recursos avançados que permitiram não
apenas agilizar o processo de desenvolvimento, bem como, gerar código
automaticamente, recurso disponível em ferramentas Case, como o Rational Rose
XDE Developer da IBM (IBM, 2004).
Ao se referir a ferramentas que facilitam o processo de desenvolvimento, dois
termos merecem destaque: IDE - Integrated Development Environment ou
Ambiente de Desenvolvimento Integrado, termo surgido a partir Turbo Pascal da
Borland, e que integrava editor de textos, compilador, linkeditor e depurador em um
único aplicativo, criando um ambiente adequado para facilitar o desenvolvimento de
2
software e RAD - Rapid Application Development, ou desenvolvimento Rápido de
Aplicações, uma evolução natural do IDE que contém um construtor de formulários
e os componentes ou classes direcionados ao acesso a bancos de dados (Lozano,
2004).
Toda ferramenta RAD engloba os conceitos da IDE, entretanto, o contrário não é
verdade, isto é, uma ferramenta pode ser IDE, mas não RAD. Por exemplo, as
ferramentas Eclipse (www.eclipse.org) e JCreator (www.jcreator.com) são
ferramentas IDE, entretanto, não possuem interface gráfica para possibilitar a
inserção de botões, caixas de texto e outros objetos (Fundão, 2003). Ferramentas
RAD estão presentes na maioria das linguagens de programação como, por
exemplo, Delphi, Visual Basic e, mais recentemente, Java. O JBuilder 9,
apresentado neste artigo, é uma ferramenta IDE RAD. De forma popular, essas
ferramentas são conhecidas como “ferramentas visuais de desenvolvimento”,
referindo-se ao ambiente com janelas, típico da plataforma Windows.
Existem diversos ambientes visuais para desenvolvimento em Java, dentre os
quais destaca-se o JBuilder da Borland, muito semelhante ao Delphi. O JBuilder
possui grande portabilidade entre plataformas e todos os recursos que a colocam
como uma autêntica ferramenta RAD. Outras ferramentas bastante usadas no
mercado são WebSphere Studio da IBM e Oracle JDeveloper. Observe no gráfico
seguinte o Ranking das ferramentas mais usadas no desenvolvimento em Java no
mundo.
Figura 1. Ranking das Ferramentas Java mais utilizadas.
3
Ranking Ferramentas RAD Java
Oracle
JDeveloper ;
21%
Outros; 7%
Borland
JBuilder ;
37%
IBM
WebSphere ;
35%
Fonte: Software Development Times, December.15, 2003.
A Borland vem apostando alto na ferramenta JBuilder no Brasil, sendo ela um
dos principais focos de atuação da empresa no mercado para a disseminação da
linguagem Java. O próprio JBuilder chegou a crescer quase 200% em 2003,
representando algo em torno de 20% a 30% do faturamento da empresa, enquanto
que Delphi, a ferramenta mais tradicional da Borland, manteve-se respondendo por
40% (Software Development Times, 2003).
De acordo com os pontos expostos, percebe-se a importância de conhecer a
linguagem Java, bem como uma ferramenta para agilizar o processo de
desenvolvimento. Se o leitor estiver planejando melhorar sua carreira nos próximos
anos é melhor começar a aprender Java.
O principal objetivo deste artigo é fornecer ao leitor uma breve introdução a
respeito da criação de aplicações para Desktop através do JBuilder da Borland. Para
que o leitor tire maior proveito do conteúdo do artigo é imprescindível que ele tenha
noções básicas sobre Java. Na época em que este artigo foi escrito o JBuilder
disponível estava em sua versão 9. O artigo traz uma visão geral da ferramenta e a
criação de uma Interface.
2. Visão geral do JBuilder
JBuilder é uma ferramenta RAD IDE da Borland Software Corporation para
desenvolvimento de programas e aplicações Java, applets, servlets, entre outros.
4
Possui uma interface gráfica com uma série de componentes pré-definidos como
botões, caixas de texto, conexões a Banco de Dados etc. Isso permite o rápido e fácil
desenvolvimento de aplicações, uma vez que ao invés de se digitar os códigos
referentes à criação de um componente, seu código é inserido automaticamente à
aplicação, bastando ao desenvolvedor inserir o componente na interface. Além da
sensível economia de tempo, no geral, o código torna-se menos propenso a erros.
A versão 9 do JBuilder é disponibilizada em três edições: Personal, Developer e
Enterprise. A edição Personal é voltada para o desenvolvimento de aplicações em
geral.
Em
contrapartida
Developer
e
Enterprise
são
voltadas
para
o
desenvolvimento de aplicações mais sofisticadas, envolvendo J2EE (Java2
Enterprise Edition), EJB (Enterprise JavaBeans) e aplicações para dispositivos
móveis. O JBuilder é compatível com os principais sistemas operacionais utilizados
hoje, como Microsoft Windows, Linux, Unix e Macintosh.
Assim como a ferramenta Borland Delphi, sua “prima“ mais próxima, o
JBuilder trabalha com o conceito de projetos, isto é, gerencia diversos tipos de
arquivos que fazem parte de uma mesma aplicação. Para cada novo projeto, o
JBuilder cria uma nova pasta com arquivos necessários. A criação de projetos é
abordada em detalhes no capítulo 3 deste artigo.
2.1.
Ambiente de Desenvolvimento
Esta seção apresenta uma visão geral dos recursos disponíveis no JBuilder 9. A
principal janela do sistema chama-se AppBrowser, ela aparece no momento em que
o software é executado. Observe todos os recursos oferecidos pela janela do
AppBrowser apresentados na figura 2.
Figura 2. Janela AppBrowser do JBuilder.
5
Project Toolbar
Project Pane File Tab Main Menu
Structure Pane
Status Bars
File View Tabs
Main Toolbar
Content Pane
Message Pane
A seguir é fornecida uma rápida explicação sobre cada um dos recursos
disponíveis na janela do AppBrowser.
•
Main Menu – está localizado bem ao topo da janela do AppBrowser. Contém
todos os menus e submenus responsáveis pelo controle da criação, abertura,
gravação e fechamento dos projetos, bem como as inúmeros procedimentos e
configurações que podem ser modificadas para ajustar o programa às
necessidades do desenvolvedor;
•
Main ToolBar - permite fácil acesso aos itens da barra de Menu mais
constantemente utilizados como, por exemplo, os itens “Novo”, “Abrir” e
“Salvar” entre outros. Tem as mesmas funções do Main Menu atuando como
atalhos para os procedimentos mais usuais;
•
Project ToolBar - como as demais barras de ferramentas, contém botões que
permitem acesso rápido a determinadas funções relacionadas aos projetos e
seus arquivos;
•
Project Pane - janela que se localiza imediatamente abaixo da barra de
ferramentas de Projeto. É uma espécie de painel onde os arquivos que
compõem o projeto ficam dispostos no formato de uma estrutura de árvore.
6
Permite ao desenvolvedor ter uma visão rápida e clara de todos os itens que
compõem a aplicação num dado momento.
•
Content Pane - compreende toda a área direita do AppBrowser entre o
Component Palette e o Message Pane. A janela Content Pane mostra o
conteúdo dos arquivos do projeto que estão abertos, onde cada arquivo tem
uma guia superior com o seu nome (chamados de File Tabs) que se alternam
para a visualização dos diferentes arquivos disponíveis (HTML ou Java).
Voltando a figura 2, Content Pane está apresentando o código da aplicação
WelcomeApp.java. Na parte inferior de Content Pane existe diversas opções
de visualização inseridas em File View Tabs. Essas guias de opção permitem
visualizar diferentes conteúdos para o mesmo arquivo. No caso do arquivo
WelcomeApp.java apresentado na figura 2, Source apresenta seu código fonte,
Design apresenta a interface (os objetos usados na aplicação) e assim por
diante.
•
Component Palette - constituída por um conjunto de guias divididas entre
diferentes grupos de componentes. Os componentes são adicionados ao
formulário para a construção da interface do usuário. A figura 3 apresenta a
guia Swing de componentes.
Figura 3. Paleta de componentes pré-definidos para as aplicações.
•
Inspector – possui duas guias: Propriedades e Eventos. Cada um dos objetos
adicionados à aplicação contém propriedades e eventos. A janela do Inspector
permite acessar e definir cada um dos conteúdos destas propriedades e
eventos. A figura 4 ilustra a guia properties (propriedades) de um objeto de
menu (jMenuBar1). Observe a guia de eventos na parte inferior da janela;
7
Figura 4. Guias de propriedades e Eventos dos objetos no Inspector.
Propriedade
Guia de
Propriedades
•
Conteúdo da
Propriedade
Guia de Eventos
Structure Pane – tem a função de manter a estrutura dos Frames1 e
arquivos.java com seus objetos, processos e métodos dispostos na forma de
uma árvore hierárquica, sendo cada um representado por um tipo de ícone
específico junto ao seu nome. Alternando o arquivo aberto entre as guias
Source e Design no Content Pane, a disposição da estrutura de árvore
representada no arquivo também muda, podendo conter ora os objetos
adicionados aos formulários, ora as declarações, processos e métodos
utilizados. A figura 5 apresenta a janela Structure Pane com a interface do
usuário (UI) que contém um formulário (this) que contém um painel
(contentPane) que por sua vez contém três objetos: borderLayout1, jButton1 e
jTextField1.
Figura 5. Exemplo de uma estrutura da janela Structure Pane.
1
Um frame pode ser entendido como uma estrutura, ou um objeto, que permite manter outros objetos
internos a ele. Em um frame podem ser adicionados diversos objetos.
8
•
Message Pane – essa janela tem a função de apresentar ao desenvolvedor dois
tipos diferentes de informação: dados da aplicação que está sendo executada e
erros existentes durante a execução da aplicação;
•
Source Code Editor – essa janela mantém o código fonte da aplicação, ou seja,
é o local onde os desenvolvedores digitam o código necessário para a
aplicação funcionar. Mudanças no código fonte podem afetar diretamente a
visualização dos objetos no formulário.
3. Criação de Projetos
Esse capítulo apresenta um resumo da criação de uma pequena interface do
usuário. Se o leitor tiver o JBuilder 9 instalado, poderá seguir os procedimentos
indicados e, ao terminar a leitura deste capítulo, terá criado uma pequena aplicação.
Para iniciar a execução do JBuilder 9.0, siga os procedimentos seguintes:
1. Clique no botão do Menu “Iniciar”;
2. Aponte para a opção “Programas”;
3. Selecione “Borland JBuilder 9 Enterprise” e clique no item seguinte de
mesmo nome.
Quando a janela do programa abrir, será aberto também um projeto default
chamado Welcome. Como este é na verdade apenas um projeto de boas vindas não
nos interessa utilizá-lo. Para criar um novo projeto acesse o Menu “File”, item “New
Project”.
Será aberta a janela “Project Wizard – Step 1 of 3” (Figura 6) que corresponde o
primeiro de três passos para a criação de um novo projeto. Deverão ser definidas as
seguintes propriedades do projeto:
9
•
Project name - permite definir o nome que será dado ao Projeto. Coloque o
nome do projeto como Projeto1.
•
Type - permite definir o tipo do Projeto. Haverá as opções jpx (é um arquivo de
projeto no formato XML, usado principalmente em equipes de desenvolvimento
para o controle de versões do projeto) e jpr (usada para aplicações em geral) e
tpr (usado para aplicações compartilhadas - Borland Together ControlCenter
projects). Escolha a extensão jpr.
•
Root path - permite definir o local e o caminho onde o projeto será gravado.
Existe um objeto do tipo Combo com as opções ou ainda um botão para a
escolha do caminho. Obs: No momento que o usuário salva seu projeto no
caminho escolhido, o JBuilder cria automaticamente uma pasta com o nome
dado ao seu projeto, onde ele ficará armazenado, por exemplo: se o usuário
salvou seu projeto com o nome de Projeto1 em C:\MeusProjetos, na verdade o
projeto
ficará
na
pasta
Projeto1
dentro
da
pasta
MeusProjetos
(C:\MeusProjetos\Projeto1).
•
Outras propriedades – existem diversas outras propriedades que podem ser
definidas que no momento são irrelevantes. Aceite as outras propriedades com
os valores default sugeridos.
Figura 6. Janela para Criação de Projetos.
Como já foi dito, para a criação de um projeto são necessárias três etapas, porém
elas não são todas obrigatórias. Para simplificar o processo clique no botão “Finish”,
10
uma vez que as propriedades das telas seguintes podem ser mantidas como default.
A seguir o novo projeto aparecerá no AppBrowser.
Por enquanto existe apenas um projeto vazio. O próximo passo será inserir uma
aplicação ao projeto.
3.1. Criação de Aplicações
Da mesma forma como foi feita a criação do projeto, as aplicações podem ser
criadas através do Menu “File”, item “New”. Ao escolher estas opções será apresentada
a janela “Object Gallery” apresentada na Figura 7.
Figura 7. Janela “Object Gallery”
Selecione a guia “General” e dê duplo-clique sobre o ícone “Application”. Será
aberta a seguir a janela “Application Wizard - Step 1 to 3” apresentada na figura 8. Nela
será necessário definir:
•
Package – define o nome do pacote que será utilizado pela aplicação. Se não
estiver definido como projeto1, então o fixe como projeto1.
•
Class – permite definir o nome da classe que será criada. Coloque esta opção
como Application1.
•
Generate header comments – permite gerar automaticamente comentários de
cabeçalhos. Não é obrigatório deixar esta opção marcada, mas se você desejar
11
inserir comentários como autor da aplicação, data, empresa etc, então clique
sobre ela.
Figura 8. Janela “Application Wizard – Step 1 to 3”
A exemplo da criação do projeto, a criação da aplicação também envolve três
etapas, porém as próximas etapas serão mantidas com seus valores default. Dessa
forma, basta clicar no botão “Finish” e a criação da aplicação estará concluída. Com
isso a aplicação será aberta dentro do Projeto1 no AppBrowser.
3.2. Criação da Aplicação Exemplo
A aplicação apresentada nesta seção é bastante simples com o objetivo de
apresentar ao leitor alguns dos aspectos essenciais para a criação de interfaces. No
desenvolvimento da aplicação serão utilizados alguns dos componentes mais comuns
usados em interfaces: etiquetas, caixas de texto e botões.
Para construir a aplicação, siga os seguintes procedimentos:
1.
Selecione no “Structure Pane”, a pasta UI e o ícone “this” que corresponde ao
formulário que será usado na criação da interface;
12
2.
Na Paleta de Componentes, selecione a guia “Swing Containers”. Escolha o
componente jPanel (é o primeiro componente desta guia) e clique sobre o
formulário onde o jPanel será inserido.
3.
Selecione o objeto jPanel1 adicionado no formulário e altere sua propriedade
layout para “GridLayout”. A propriedade layout permite fixar o tipo de layout a
ser usado no painel.
4.
Selecione o objeto gridLayout1 (um nível abaixo do jPanel1) no “Struture Pane”.
No “Inspector”, fixe as propriedades “columns” como “2” e “rows” como “6”. As
propriedades
“columns”
e
“rows”
do
objeto
gridLayout1
indicam,
respectivamente, o número de colunas e o número de linhas que irão compor o
painel. Dessa forma, o painel terá 2 linhas com 6 colunas, isto é, terá 12 células
onde os objetos poderão ser inseridos. A inserção dos objetos segue uma ordem:
da esquerda para a direita e de cima para baixo.
5.
Altere a propriedade “constraints” do objeto jPanel1 para “Center”. A propriedade
“constraints” define a região que o objeto, no caso jPanel1, irá ocupar. Como o
default do gerenciador de layout para o formulário (this) é BorderLayout, o painel
jPanel1 pode assumir as posições “North”, “South”, “West”, “East” ou “Center”.
No caso, foi definido “Center” para que o painel apareça centralizado no
formulário.
6.
Usando a guia “Swing” do “Component Palette”, adicione ao jPanel1 os seguintes
objetos: 1 jButton (botão), 6 jLabels (etiquetas) e 5 jTextFields (caixas de texto)
de acordo com o layout apresentado pela Figura 9.
Figura 9. Disposição dos objetos no formulário.
7.
Selecione os objetos jLabel (um de cada vez) e altere a propriedade “text”, que
corresponde ao texto que será apresentado no formulário, para:
ƒ
jLabel1 – “Nota da Pesquisa”
13
8.
ƒ
jLabel2 – “Nota da 1º Prova”
ƒ
jLabel3 – “Nota do Trabalho”
ƒ
jLabel4 – “Nota da 2º Prova”
ƒ
jLabel5 – “Média das Notas”
ƒ
jLabel6 – “Status Aluno”. Marque na propriedade “font” a opção “bold”.
Deixe a propriedade “text” de todos os jTextFields sem nenhum valor. Fixe a
propriedade “editable” do jTextField5 como “False”. Isso fará com que o
conteúdo desta caixa não possa ser alterado pelo usuário, ele será somente leitura.
9.
Fixe a propriedade “text” do jButton1 como “Calcular”.
10.
Dê duplo-clique sobre o jButton1, e será aberta a janela “Content Pane” e criado o
método referente ao evento clique do botão. O método criado será:
void jButton1_actionPerformed(ActionEvent e) {
}
11. No interior do método action_Performed digite o código seguinte:
1. try // início do controle de erros
2. {
3. float N1 = 0, N2 = 0, N3 = 0, N4 = 0, media = 0; //declara as variáveis
4. N1 = Float.parseFloat(jTextField1.getText()); //N1 recebe o valor jTextField1
5. N2 = Float.parseFloat(jTextField2.getText());
6. N3 = Float.parseFloat(jTextField3.getText());
7. N4 = Float.parseFloat(jTextField4.getText());
8. media = (N1 + N2 + N3 + N4) / 4; //faz a média das 4 notas
9. jTextField5.setText(" " + media); //recebe o valor da variável media
10. if (media >= 0 && media <5) // se media for maior ou igual a 0 e menor que 5
11. {
12. jLabel6.setText("Reprovado"); //jLabel6 recebe o texto “Reprovado”
13. jLabel6.setForeground(Color.red); //recebe a cor vermelha com a cor do
texto.
14. }
15. else if (media >= 5 && media < 7) //se media for maior ou igual a 5 e menor
que 7
16. {
17. jLabel6.setText("Em Recuperação"); //recebe o texto “Em Recuperação”
18. jLabel6.setForeground(Color.yellow); //texto recebe a cor amarela
19. }
20. else if (media >= 7) //se media for maior ou igual a 7
21. {
22. jLabel6.setText("Aprovado"); //recebe o texto Aprovado
23. jLabel6.setForeground(Color.blue); jLabel6 //recebe a cor azul do cor do
texto.
24. }
14
25. }
26. catch(NumberFormatException erro) //se houver erros de formato de números
27. {
28. jTextField5.setText("Erro de Conversão"); //emite uma mensagem de erro
29. }
30. }
Obs. Os números das linhas não devem ser digitados, eles servem apenas para
guiar o usuário durante o processo de digitação. As frases após os caracteres // são
apenas comentários e também não necessitam ser digitadas.
3.3. Compilação e execução da Aplicação
Depois de criada a aplicação basta realizar sua execução. Na realidade o processo
ocorre em duas fases: 1) a compilação, para verificar se o programa contém erros de
estrutura ou de sintaxe nas instruções e 2) a execução propriamente dita. Para realizar os
dois procedimentos ao mesmo tempo basta através da barra Main ToolBar clicar sobre o
botão Run Project (
). Caso haja algum problema com a aplicação, os problemas
existentes serão mostrados na janela de mensagens de erro.
A aplicação em execução deve ficar semelhante à figura 10. Nela o usuário poderá
digitar as notas nas caixas de texto de 1 a 4 e pressionar o botão calcular para que a
média e o resultado sejam processados.
Figura 10. Aplicação “Cálculo da Média” em execução.
Referências Bibliográficas
Borland JBuilder. 2003. Consulta realizada em 03/2004. (URL
http://www.borland.com/jbuilder).
15
Deitel. Java: como programar. Bookman. 1ª Edição 2000
Fundão. “IDEs Java”. 2003. Consulta realizada em 04/2004. edição de Maio/2003.
(URL http://www2.fundao.pro.br/articles.asp?cod=169).
IBM. “Rational Rose XDE Developer”. 2004. Consulta realizada em 04/2004. (URL
http://www-306.ibm.com/software/awdtools/developer/rosexde/).
Landy, Michel e outros, 2002. Borland JBuilder Developer’s Guide.
Lozano, Fernando. “Ambientes Integrados”. Revista do Linux edição 29, 2004
(URL http://www.revistadolinux.com.br/ed/029/assinantes/desenvolvimento.php3.)
Morgan, M. Java 2 para programadores profissionais. Ciência Moderna. 1ª Edição 2000
Muchow, John W, 2002. Core J2ME Technology & MIDP. Palo Alto.
Software Development Times, December 15, 2003.
Sun. “Java TV API”. 2004. Consulta realizada em 04/2004. (URL
http://java.sun.com/products/javatv/index.jsp),
16
Download