Srgio Furgeri Analista de Sistemas pela Unimep Piracicaba, Mestre em Gerenciamento de Sistemas de Informao pela PUC-Campinas, autor de diversos livros na rea de computao e Consultor de Sistemas da empresa TiSoft.
Resumo
A rea computacional tem sofrido profundas mudanas nos ltimos anos, principalmente no que diz respeito maneira como os programas so criados a partir das linguagens de programao. Dentro deste contexto, a linguagem de programao Java tem contribudo 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 criao de aplicaes em Java. Ser fornecida uma viso geral sobre a ferramenta e tambm os passos necessrios para a criao de uma pequena interface do usurio.
Palavras-chave
Java, JBuilder, IDE, RAD, aplicao.
2 1. Introduo
Nos ltimos anos Java tem se destacado no mercado de software e se tornado uma das linguagens de programao mais usadas. A tendncia da utilizao 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 utilizao do Java, onde 72% dos 950 pesquisadores entrevistados afirmaram utilizar o Java como linguagem de programao, enquanto que em 2002 esse nmero era de apenas 50%. Comparando-se Java com sua principal concorrente em termos de linguagem de programao, 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), aplicaes Web (Morgan, 2000) e, mais recentemente, sua utilizao tem se voltado para o mercado de pequenos dispositivos mveis, como celulares e PDA's - Personal Digital Assistance (Muchow, 2002) e JavaTv (Sun, 2004).
Devido ao grande sucesso de Java, diversos fabricantes de software tm investido nesta linguagem, adaptando seus sistemas para que, de alguma forma, possam interagir com "coisas" criadas a partir de Java. Atentas a essa clara demonstrao de que a linguagem Java ainda tem um grande potencial a ser explorado pelo mercado, foram criadas ferramentas para aumentar a eficincia no desenvolvimento em Java. Inicialmente, essas ferramentas funcionavam como meros editores de texto usados para criar um ambiente mais amigvel. Com o passar dos anos, as ferramentas foram ganhando recursos avanados que permitiram no apenas agilizar o processo de desenvolvimento, bem como, gerar cdigo automaticamente, recurso disponvel 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 3 software e RAD - Rapid Application Development, ou desenvolvimento Rpido de Aplicaes, uma evoluo natural do IDE que contm um construtor de formulrios e os componentes ou classes direcionados ao acesso a bancos de dados (Lozano, 2004).
Toda ferramenta RAD engloba os conceitos da IDE, entretanto, o contrrio no verdade, isto , uma ferramenta pode ser IDE, mas no RAD. Por exemplo, as ferramentas Eclipse (www.eclipse.org) e JCreator (www.jcreator.com) so ferramentas IDE, entretanto, no possuem interface grfica para possibilitar a insero de botes, caixas de texto e outros objetos (Fundo, 2003). Ferramentas RAD esto presentes na maioria das linguagens de programao 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 so conhecidas como ferramentas visuais de desenvolvimento, referindo-se ao ambiente com janelas, tpico 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 autntica ferramenta RAD. Outras ferramentas bastante usadas no mercado so WebSphere Studio da IBM e Oracle JDeveloper. Observe no grfico seguinte o Ranking das ferramentas mais usadas no desenvolvimento em Java no mundo.
Figura 1. Ranking das Ferramentas Java mais utilizadas. 4 Ranking Ferramentas RAD Java Oracle JDeveloper ; 21% Outros; 7% Borland JBuilder ; 37% IBM WebSphere ; 35%
A Borland vem apostando alto na ferramenta JBuilder no Brasil, sendo ela um dos principais focos de atuao da empresa no mercado para a disseminao da linguagem Java. O prprio 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 importncia de conhecer a linguagem Java, bem como uma ferramenta para agilizar o processo de desenvolvimento. Se o leitor estiver planejando melhorar sua carreira nos prximos anos melhor comear a aprender Java.
O principal objetivo deste artigo fornecer ao leitor uma breve introduo a respeito da criao de aplicaes para Desktop atravs do JBuilder da Borland. Para que o leitor tire maior proveito do contedo do artigo imprescindvel que ele tenha noes bsicas sobre Java. Na poca em que este artigo foi escrito o JBuilder disponvel estava em sua verso 9. O artigo traz uma viso geral da ferramenta e a criao de uma Interface.
2. Viso geral do JBuilder
JBuilder uma ferramenta RAD IDE da Borland Software Corporation para desenvolvimento de programas e aplicaes Java, applets, servlets, entre outros. Fonte: Software Development Times, December.15, 2003. 5 Possui uma interface grfica com uma srie de componentes pr-definidos como botes, caixas de texto, conexes a Banco de Dados etc. Isso permite o rpido e fcil desenvolvimento de aplicaes, uma vez que ao invs de se digitar os cdigos referentes criao de um componente, seu cdigo inserido automaticamente aplicao, bastando ao desenvolvedor inserir o componente na interface. Alm da sensvel economia de tempo, no geral, o cdigo torna-se menos propenso a erros.
A verso 9 do JBuilder disponibilizada em trs edies: Personal, Developer e Enterprise. A edio Personal voltada para o desenvolvimento de aplicaes em geral. Em contrapartida Developer e Enterprise so voltadas para o desenvolvimento de aplicaes mais sofisticadas, envolvendo J2EE (Java2 Enterprise Edition), EJB (Enterprise JavaBeans) e aplicaes para dispositivos mveis. O JBuilder compatvel com os principais sistemas operacionais utilizados hoje, como Microsoft Windows, Linux, Unix e Macintosh.
Assim como a ferramenta Borland Delphi, sua prima mais prxima, o JBuilder trabalha com o conceito de projetos, isto , gerencia diversos tipos de arquivos que fazem parte de uma mesma aplicao. Para cada novo projeto, o JBuilder cria uma nova pasta com arquivos necessrios. A criao de projetos abordada em detalhes no captulo 3 deste artigo.
2.1. Ambiente de Desenvolvimento
Esta seo apresenta uma viso geral dos recursos disponveis 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.
6
A seguir fornecida uma rpida explicao sobre cada um dos recursos disponveis na janela do AppBrowser. Main Menu est localizado bem ao topo da janela do AppBrowser. Contm todos os menus e submenus responsveis pelo controle da criao, abertura, gravao e fechamento dos projetos, bem como as inmeros procedimentos e configuraes que podem ser modificadas para ajustar o programa s necessidades do desenvolvedor; Main ToolBar - permite fcil acesso aos itens da barra de Menu mais constantemente utilizados como, por exemplo, os itens Novo, Abrir e Salvar entre outros. Tem as mesmas funes do Main Menu atuando como atalhos para os procedimentos mais usuais; Project ToolBar - como as demais barras de ferramentas, contm botes que permitem acesso rpido a determinadas funes relacionadas aos projetos e seus arquivos; Project Pane - janela que se localiza imediatamente abaixo da barra de ferramentas de Projeto. uma espcie de painel onde os arquivos que compem o projeto ficam dispostos no formato de uma estrutura de rvore. Project Toolbar Project Pane File Tab Main Toolbar Main Menu Status Bars Structure Pane Content Pane Message Pane File View Tabs 7 Permite ao desenvolvedor ter uma viso rpida e clara de todos os itens que compem a aplicao 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 contedo dos arquivos do projeto que esto abertos, onde cada arquivo tem uma guia superior com o seu nome (chamados de File Tabs) que se alternam para a visualizao dos diferentes arquivos disponveis (HTML ou Java). Voltando a figura 2, Content Pane est apresentando o cdigo da aplicao WelcomeApp.java. Na parte inferior de Content Pane existe diversas opes de visualizao inseridas em File View Tabs. Essas guias de opo permitem visualizar diferentes contedos para o mesmo arquivo. No caso do arquivo WelcomeApp.java apresentado na figura 2, Source apresenta seu cdigo fonte, Design apresenta a interface (os objetos usados na aplicao) e assim por diante. Component Palette - constituda por um conjunto de guias divididas entre diferentes grupos de componentes. Os componentes so adicionados ao formulrio para a construo da interface do usurio. A figura 3 apresenta a guia Swing de componentes.
Figura 3. Paleta de componentes pr-definidos para as aplicaes.
Inspector possui duas guias: Propriedades e Eventos. Cada um dos objetos adicionados aplicao contm propriedades e eventos. A janela do Inspector permite acessar e definir cada um dos contedos 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; 8 Figura 4. Guias de propriedades e Eventos dos objetos no Inspector.
Structure Pane tem a funo de manter a estrutura dos Frames 1 e arquivos.java com seus objetos, processos e mtodos dispostos na forma de uma rvore hierrquica, sendo cada um representado por um tipo de cone especfico junto ao seu nome. Alternando o arquivo aberto entre as guias Source e Design no Content Pane, a disposio da estrutura de rvore representada no arquivo tambm muda, podendo conter ora os objetos adicionados aos formulrios, ora as declaraes, processos e mtodos utilizados. A figura 5 apresenta a janela Structure Pane com a interface do usurio (UI) que contm um formulrio (this) que contm um painel (contentPane) que por sua vez contm trs 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. Guia de Propriedades Guia de Eventos Propriedade Contedo da Propriedade 9
Message Pane essa janela tem a funo de apresentar ao desenvolvedor dois tipos diferentes de informao: dados da aplicao que est sendo executada e erros existentes durante a execuo da aplicao; Source Code Editor essa janela mantm o cdigo fonte da aplicao, ou seja, o local onde os desenvolvedores digitam o cdigo necessrio para a aplicao funcionar. Mudanas no cdigo fonte podem afetar diretamente a visualizao dos objetos no formulrio.
3. Criao de Projetos
Esse captulo apresenta um resumo da criao de uma pequena interface do usurio. Se o leitor tiver o JBuilder 9 instalado, poder seguir os procedimentos indicados e, ao terminar a leitura deste captulo, ter criado uma pequena aplicao.
Para iniciar a execuo do JBuilder 9.0, siga os procedimentos seguintes: 1. Clique no boto do Menu Iniciar; 2. Aponte para a opo Programas; 3. Selecione Borland JBuilder 9 Enterprise e clique no item seguinte de mesmo nome.
Quando a janela do programa abrir, ser aberto tambm um projeto default chamado Welcome. Como este na verdade apenas um projeto de boas vindas no 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 trs passos para a criao de um novo projeto. Devero ser definidas as seguintes propriedades do projeto: 10 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 opes jpx ( um arquivo de projeto no formato XML, usado principalmente em equipes de desenvolvimento para o controle de verses do projeto) e jpr (usada para aplicaes em geral) e tpr (usado para aplicaes compartilhadas - Borland Together ControlCenter projects). Escolha a extenso jpr. Root path - permite definir o local e o caminho onde o projeto ser gravado. Existe um objeto do tipo Combo com as opes ou ainda um boto para a escolha do caminho. Obs: No momento que o usurio 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 usurio 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 so irrelevantes. Aceite as outras propriedades com os valores default sugeridos.
Figura 6. Janela para Criao de Projetos.
Como j foi dito, para a criao de um projeto so necessrias trs etapas, porm elas no so todas obrigatrias. Para simplificar o processo clique no boto Finish, 11 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 prximo passo ser inserir uma aplicao ao projeto.
3.1. Criao de Aplicaes
Da mesma forma como foi feita a criao do projeto, as aplicaes podem ser criadas atravs do Menu File, item New. Ao escolher estas opes 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 necessrio definir: Package define o nome do pacote que ser utilizado pela aplicao. Se no estiver definido como projeto1, ento o fixe como projeto1. Class permite definir o nome da classe que ser criada. Coloque esta opo como Application1. Generate header comments permite gerar automaticamente comentrios de cabealhos. No obrigatrio deixar esta opo marcada, mas se voc desejar 12 inserir comentrios como autor da aplicao, data, empresa etc, ento clique sobre ela.
Figura 8. Janela Application Wizard Step 1 to 3
A exemplo da criao do projeto, a criao da aplicao tambm envolve trs etapas, porm as prximas etapas sero mantidas com seus valores default. Dessa forma, basta clicar no boto Finish e a criao da aplicao estar concluda. Com isso a aplicao ser aberta dentro do Projeto1 no AppBrowser.
3.2. Criao da Aplicao Exemplo
A aplicao apresentada nesta seo bastante simples com o objetivo de apresentar ao leitor alguns dos aspectos essenciais para a criao de interfaces. No desenvolvimento da aplicao sero utilizados alguns dos componentes mais comuns usados em interfaces: etiquetas, caixas de texto e botes.
Para construir a aplicao, siga os seguintes procedimentos: 1. Selecione no Structure Pane, a pasta UI e o cone this que corresponde ao formulrio que ser usado na criao da interface; 13 2. Na Paleta de Componentes, selecione a guia Swing Containers. Escolha o componente jPanel ( o primeiro componente desta guia) e clique sobre o formulrio onde o jPanel ser inserido. 3. Selecione o objeto jPanel1 adicionado no formulrio 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 nvel 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 nmero de colunas e o nmero de linhas que iro compor o painel. Dessa forma, o painel ter 2 linhas com 6 colunas, isto , ter 12 clulas onde os objetos podero ser inseridos. A insero 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 regio que o objeto, no caso jPanel1, ir ocupar. Como o default do gerenciador de layout para o formulrio (this) BorderLayout, o painel jPanel1 pode assumir as posies North, South, West, East ou Center. No caso, foi definido Center para que o painel aparea centralizado no formulrio. 6. Usando a guia Swing do Component Palette, adicione ao jPanel1 os seguintes objetos: 1 jButton (boto), 6 jLabels (etiquetas) e 5 jTextFields (caixas de texto) de acordo com o layout apresentado pela Figura 9.
Figura 9. Disposio dos objetos no formulrio.
7. Selecione os objetos jLabel (um de cada vez) e altere a propriedade text, que corresponde ao texto que ser apresentado no formulrio, para: jLabel1 Nota da Pesquisa 14 jLabel2 Nota da 1 Prova jLabel3 Nota do Trabalho jLabel4 Nota da 2 Prova jLabel5 Mdia das Notas jLabel6 Status Aluno. Marque na propriedade font a opo bold. 8. Deixe a propriedade text de todos os jTextFields sem nenhum valor. Fixe a propriedade editable do jTextField5 como False. Isso far com que o contedo desta caixa no possa ser alterado pelo usurio, 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 mtodo referente ao evento clique do boto. O mtodo criado ser: void jButton1_actionPerformed(ActionEvent e) {
} 11. No interior do mtodo action_Performed digite o cdigo seguinte:
1. try // incio do controle de erros 2. { 3. float N1 = 0, N2 = 0, N3 = 0, N4 = 0, media = 0; //declara as variveis 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 mdia das 4 notas 9. jTextField5.setText(" " + media); //recebe o valor da varivel 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 Recuperao"); //recebe o texto Em Recuperao 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. } 15 25. } 26. catch(NumberFormatException erro) //se houver erros de formato de nmeros 27. { 28. jTextField5.setText("Erro de Converso"); //emite uma mensagem de erro 29. } 30. }
Obs. Os nmeros das linhas no devem ser digitados, eles servem apenas para guiar o usurio durante o processo de digitao. As frases aps os caracteres // so apenas comentrios e tambm no necessitam ser digitadas.
3.3. Compilao e execuo da Aplicao
Depois de criada a aplicao basta realizar sua execuo. Na realidade o processo ocorre em duas fases: 1) a compilao, para verificar se o programa contm erros de estrutura ou de sintaxe nas instrues e 2) a execuo propriamente dita. Para realizar os dois procedimentos ao mesmo tempo basta atravs da barra Main ToolBar clicar sobre o boto Run Project ( ). Caso haja algum problema com a aplicao, os problemas existentes sero mostrados na janela de mensagens de erro.
A aplicao em execuo deve ficar semelhante figura 10. Nela o usurio poder digitar as notas nas caixas de texto de 1 a 4 e pressionar o boto calcular para que a mdia e o resultado sejam processados.
Figura 10. Aplicao Clculo da Mdia em execuo.
Referncias Bibliogrficas
Borland JBuilder. 2003. Consulta realizada em 03/2004. (URL http://www.borland.com/jbuilder).
16 Deitel. Java: como programar. Bookman. 1 Edio 2000
Fundo. IDEs Java. 2003. Consulta realizada em 04/2004. edio 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 Developers Guide.
Lozano, Fernando. Ambientes Integrados. Revista do Linux edio 29, 2004 (URL http://www.revistadolinux.com.br/ed/029/assinantes/desenvolvimento.php3.)
Morgan, M. Java 2 para programadores profissionais. Cincia Moderna. 1 Edio 2000