GWT fu, Parte 1: Criando locais com o Google Web Toolkit

Tamanho: px
Começar a partir da página:

Download "GWT fu, Parte 1: Criando locais com o Google Web Toolkit"

Transcrição

1 Page 1 of 12 GWT fu, Parte 1: Criando locais com o Google Web Toolkit Implemente aplicativos Web do tipo desktop com código Java Nível: Intermediário David Geary, President, Clarity Training, Inc. 01/Set/2009 O Google Web Toolkit (GWT) permite usar a linguagem Java para implementar interfaces com o usuário rich client que são executadas em um navegador. Neste artigo de duas partes, David Geary nos atualiza sobre a mais recente versão do GWT e mostra como implementar um aplicativo da Web de tipo desktop. Na década de 1990 eu usava bastante o Swing. Eu gostava do Swing porque ele permitia implementar qualquer coisa que eu pudesse imaginar. Para mim, essa é a sensação de desenvolver software: ser capaz de imaginar algo e, então, fazê-lo funcionar na tela. Com a API Swing, qualquer coisa, desde arrastar e soltar até jogos arcade, estava ao nosso alcance com facilidade. Então surgiu o Java do lado do servidor e estruturas primitivas como o Struts, que permitiram o que?! voltar aos anos sessenta e implementar formas do tipo mainframe. Nada de arrastar e soltar, nenhum jogo arcade, e acabou-se a diversão. Fomos jogados de volta à idade da pedra da programação. É por isso que eu adoro o Google Web Toolkit. Usando uma API tipo Swing, é possível implementar novamente em um navegador qualquer coisa que você possa imaginar. Claro, o estado das estruturas de aplicativo da Web mudou consideravelmente desde o Struts 1.0, e agora é possível implementar muito mais do que formas do tipo mainframe com estruturas como JSF 2, Ruby on Rails, e Lift. Mas o GWT não tem rival porque dá acesso a todas as potencialidades do JavaScript por meio de uma linguagem e API de fácil compreensão. Se deseja implementar um aplicativo do tipo desktop que possa ser executado no navegador, então o GWT é um grande candidato para sua empresa, pelo menos no lado do cliente. Nesta série curta, vou acompanhá-lo ao longo da curva de aprendizado do GWT implementando um aplicativo do tipo desktop. Neste artigo, vamos discutir: Widgets Remote procedure calls (RPCs) e integração de banco de dados Widgets compostos Manipuladores de eventos Testes do Ajax Na parte 2, vamos observar melhor a implementação de widgets personalizados e algumas técnicas avançadas, como o uso de visualização de eventos e imagens animadas com cronômetros. É possível fazer o download do código de origem do aplicativo de amostra completo. Locais: Um mashup de serviços da Web Ajaxificado e suportado por banco de dados O aplicativo de locais que vamos construir com o GWT permite visualizar locais. Eu defino um local como uma combinação de mapa e informações meteorológicas sobre um determinado local, como é possível ver na Figura 1: Figura 1. O aplicativo de locais: Visualizando um único local Este artigo em duas partes examina alguns fundamentos do GWT, fornece atualizações sobre as mudanças relevantes na atual API GWT, e dá uma visão geral dos aspectos avançados do desenvolvimento do GWT. Para uma introdução abrangente do release inicial do GWT, leia "Ajax for Java developers: Exploring the Google Web Toolkit."

2 Page 2 of 12 O aplicativo de locais vem com seis endereços incorporados que o aplicativo retira de um banco de dados MySQL na inicialização. O aplicativo, então, exibe os endereços em uma caixa de listagem. Quando se clica em um item na caixa de listagem, o aplicativo atualiza a grade à direita da caixa de listagem com o endereço selecionado. Quando você clica no botão Exibir da grade, o aplicativo abre uma janela. A janela contém um mapa à esquerda e as informações meteorológicas, à direita, separados por um painel dividido horizontalmente. O aplicativo obtém o mapa e as informações meteorológicas a partir do Yahoo! Web Services. É possível exibir múltiplas janelas ao mesmo tempo e ajustar as dimensões do painel dividido, como é mostrado na Figura 2: Figura 2. O aplicativo de locais: Visualizando múltiplos locais Compare o GWT e o JavaServer Faces (JSF) O aplicativo de locais desse artigo é semelhante ao aplicativo do mesmo nome que discuti na série de três partes JSF 2 fu. É possível ler ambas as séries para se ter uma ideia de como as duas estruturas diferem.

3 Page 3 of 12 Há uma coisa você é possível ver nas capturas de tela estáticas da Figura 1 e da Figura 2: Os mapas residem nas portas de visualização; assim, é possível arrastar o mapa ao longo do painel dividido. Se você arrastar o mapa rapidamente durante menos de um segundo a porta de visualização anima a visualização movendo-a continuamente no sentido em que o mouse foi arrastado. Quando a imagem chega à extremidade da porta de visualização, ela rebate na extremidade e continua em animação até você clicar na porta de visualização com o mouse. Faça o download do aplicativo se você quiser experimentar isto. Eu discutirei a porta de visualização, que ilustra algumas técnicas avançadas do GWT como o uso de cronômetros para animações e o uso de pré-visualização de eventos, na parte 2. Widgets Durante o resto do artigo, vamos implementar o aplicativo de locais desde o início até o fim. Primeiro vou buscar os endereços em um banco de dados e exibi-los em uma caixa de listagem, como mostrado na Figura 3: Figura 3. Widgets e acesso ao banco de dados

4 Page 4 of 12 A Listagem 1 mostra o código do aplicativo exibido na Figura 3: Listagem 1. Places.java, tomada 1 import java.util.arraylist; import java.util.iterator; import java.util.list; import com.google.gwt.core.client.entrypoint; import com.google.gwt.core.client.gwt; import com.google.gwt.user.client.rpc.asynccallback; import com.google.gwt.user.client.ui.horizontalsplitpanel; import com.google.gwt.user.client.ui.label; import com.google.gwt.user.client.ui.listbox; import com.google.gwt.user.client.ui.rootpanel; public class Places implements EntryPoint { final ListBox addresses = new ListBox(); final ArrayList<Address> addresslist = new ArrayList<Address>(); final HorizontalSplitPanel hsp = new HorizontalSplitPanel(); public void onmoduleload() { hsp.add(addresses); hsp.add(new Label("Address grid goes here")); hsp.setsplitposition("175px"); getaddresses(); RootPanel.get().add(hsp); public void getaddresses() { // Instantiate the address service AddressServiceAsync as = (AddressServiceAsync) GWT.create(AddressService.class); // Use the address service to fetch addresses and populate the listbox Todos os aplicativos GWT são módulos do GWT, e todos os módulos do GWT implementam a interface EntryPoint, que por sua vez define um método: public void onmoduleload(). Aquele método é análogo ao método main() em um aplicativo de desktop. Para o aplicativo de locais, o método onmoduleload() acrescenta a caixa da lista de endereços e um rótulo ao painel dividido horizontalmente. Então ele retira os endereços do banco de dados e acrescenta o painel dividido ao painel raiz do aplicativo. (O painel raiz representa o corpo da página HTML do aplicativo.) É fácil criar e configurar widgets com o GWT. Obter e exibir valores de um banco de dados é um pouco mais complicado. Integração de RPCs e banco de dados Para obter endereços do banco de dados, eu uso um RPC GWT. Primeiro, eu instancio um instância de AddressServiceAsync com o método GWT.create(), e então eu uso aquela instância para invocar o RPC e capturar o resultado da chamada, como mostrado na Listagem 2: Listagem 2. Places.java, tomada 2

5 Page 5 of 12 public class Places implements EntryPoint { final ListBox addresses = new ListBox(); final final ArrayList<Address> addresslist = new ArrayList<Address>(); final HorizontalSplitPanel hsp = new HorizontalSplitPanel(); public void onmoduleload() { hsp.add(addresses); hsp.add(new Label("Address grid goes here")); hsp.setsplitposition("175px"); getaddresses(); RootPanel.get().add(hsp); public void getaddresses() { // Instantiate the address service AddressServiceAsync as = (AddressServiceAsync) GWT.create(AddressService AddressService.class); as.getaddresses(new AsyncCallback<List<Address>>() { public void onfailure(throwable caught) { GWT.log("Can't access database", caught); public void onsuccess(list<address> result) { Iterator<Address> it = result.iterator(); while (it.hasnext()) { Address address = it.next(); addresses.additem(address.getaddress()); addresslist.add(address); addresses.setvisibleitemcount(result.size()); ); RPCs GWT são definidos por duas interfaces: uma interface assíncrona que você invoca no cliente, e uma interface remota que o GWT invoca no servidor. Para o serviço de endereço, essas interfaces são AddressServiceAsync e AddressService, respectivamente. Eu chamo GWT.create na Listagem 2, passando para ele a classe da interface remota, e o GWT retorna uma instância da interface assíncrona. A Listagem 3 exibe a interface AddressService: Listagem 3. AddressService.java import java.util.list; import com.google.gwt.user.client.rpc.remoteservice; import public interface AddressService extends RemoteService { public List<Address> getaddresses(); A Listagem 4 exibe a interface AddressServiceAsync: Listagem 4. AddressServiceAsync.java import java.util.list; import com.google.gwt.user.client.rpc.asynccallback; public interface AddressServiceAsync { public void getaddresses(asynccallback<list<address>> callback); Quando eu chamo o método getaddresses() no cliente através da interface assíncrona, o GWT chama o método correspondente pela interface remota no servidor. O GWT espera até o método no servidor ser completado, e então chama de volta no callback da implementação assíncrona, como mostrado na Listagem 2. Finalmente eu declaro o servlet remoto no descritor de implementação do aplicativo web, mostrado na Listagem 5: Listagem 5. WEB-INF/web.xml

6 Page 6 of 12 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app> <!-- Servlets --> <servlet> <servlet-name>address address</servlet-name> <servlet-class>com.clarity.server.addressserviceimpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>address address</servlet-name> <url-pattern>/places/address /places/address</url-pattern> </servlet-mapping> </web-app> Note que o nome do servlet address corresponde ao valor que eu especifiquei para a na Listagem 3. Aquela correspondência junta a interface RPC remota definida na Listagem 3 com o servlet implementado na Listagem 6. Código do banco de dados do lado do servidor As interfaces AddressServiceAsync e AddressService residem no cliente. No servidor, eu implementei um código não remarcável usando POJOs e Hibernate para acessar os endereços armazenados em um banco de dados. O POJO é mostrado na Listagem 6: Listagem 6. Address.java import java.io.serializable; public class Address implements Serializable { private static final long serialversionuid = 1L; private Long id; private String description, address, city, state, zip; public Address() { // you must implement a no-arg constructor public Address(Long id, String address, String city) { this.address = address; this.city = city; this.id = id; public String tostring() { return address + " " + city + ", " + state + zip; // Setters and getters for String properties are omitted in the interest of brevity A listagem 7 mostra o código Hibernate correspondente: Listagem 7. AddressServiceImpl.java package com.clarity.server; import java.util.list; import org.hibernate.hibernateexception; import org.hibernate.session; import com.clarity.client.addressservice; import com.clarity.client.address; import public class AddressServiceImpl extends RemoteServiceServlet implements AddressService { private static final long serialversionuid = 1L; public List<Address> getaddresses() { List<Address> addresses = null;

7 Page 7 of 12 try { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.begintransaction(); addresses = (List<Address>)session.createQuery("from Address Address ").list(); session.gettransaction().commit(); catch (HibernateException e) { e.printstacktrace(); return addresses; A classe AddressServiceImpl, mostrada na Listagem 7, implementa a interface remota do serviço de endereços AddressService e estende o RemoteServiceServlet do GWT. O método getaddresses() retorna todos os endereços do banco de dados. A natureza assíncrona dos RPCs Para preencher a grade de endereços inicialmente com o primeiro endereço do banco de dados, você poderia pensar que seria possível fazer isto: public class Places implements EntryPoint { final ListBox addresses = new ListBox(); final private AddressGrid addressgrid = new AddressGrid(addresses, addresslist); public void onmoduleload() { getaddresses(); // this won't work addressgrid.setaddress(addresslist.get(0)); RootPanel.get().add(hsp); Mas isso não funciona, porque a chamada de getaddresses() é assíncrona. Ao invés, é necessário preencher a grade de endereços depois que o RPC retornar, desta maneira: public class Places implements EntryPoint { public void onmoduleload() { getaddresses(); RootPanel.get().add(hsp); public void getaddresses() { AddressServiceAsync as = (AddressServiceAsync) GWT.create(AddressService.class); ); as.getaddresses(new AsyncCallback<List<Address>>() { public void onsuccess(list<address> result) { addressgrid.setaddress(addresslist.get(0)); Widgets compostos Até agora eu criei alguns widgets e preenchi uma caixa de listagem com os endereços de um banco de dados. Agora vamos acrescentar a grade de endereços no lado direito do painel dividido do aplicativo, como mostrado na Figura 4: Figura 4. Acrescentando a grade de endereços

8 Page 8 of 12 A grade de endereços, mostrada à direita na Figura 4, é um widget composto. A listagem 8 mostra a implementação da classe AddressGrid: Listagem 8. AddressGrid.java import com.google.gwt.event.dom.client.clickhandler; import com.google.gwt.user.client.ui.button; import com.google.gwt.user.client.ui.composite; import com.google.gwt.user.client.ui.grid; import com.google.gwt.user.client.ui.label; import com.google.gwt.user.client.ui.listbox; import com.google.gwt.user.client.ui.textbox; public class AddressGrid extends Composite { private Grid grid = new Grid(6,2); private Label streetaddresslabel = new Label("Address"); private TextBox streetaddresstextbox = new TextBox(); private Label citylabel = new Label("City"); private TextBox citytextbox = new TextBox(); private TextBox statetextbox = new TextBox(); private Label ziplabel = new Label("Zip"); private TextBox ziptextbox = new TextBox(); private Label statelabel = new Label("State"); private Button button = new Button(); private Address address; public AddressGrid(final ListBox addresses, String buttontext, ClickHandler buttonclickhandler) { initwidget(grid); button.settext(buttontext); grid.addstylename("addressgrid"); statetextbox.setvisiblelength(3); ziptextbox.setvisiblelength(5); citytextbox.setvisiblelength(15); grid.setwidget(0, 0, streetaddresslabel); grid.setwidget(0, 1, streetaddresstextbox); grid.setwidget(1, 0, citylabel); grid.setwidget(1, 1, citytextbox); grid.setwidget(2, 0, statelabel); grid.setwidget(2, 1, statetextbox); grid.setwidget(3, 0, ziplabel); grid.setwidget(3, 1, ziptextbox); grid.setwidget(5, 0, button); button.addclickhandler(buttonclickhandler); void setaddress(address address) { this.address = address; streetaddresstextbox.settext(address.getaddress()); citytextbox.settext(address.getcity()); statetextbox.settext(address.getstate()); ziptextbox.settext(address.getzip()); public Address getaddress() { return address;

9 Page 9 of 12 public Button getbutton() { return button; Widgets compostos, como o nome sugere, são widgets compostos por outros widgets. A grade de endereços é composta de uma Grid, que é preenchida com rótulos, caixas de texto e um botão. Ao construir uma grade de endereços, você fornece o texto exibido no botão e um manipulador de cliques para o botão. A grade de endereços é uma representação reutilizável de um endereço, à qual é possível anexar uma funcionalidade. Neste caso a funcionalidade é implementada no aplicativo de locais com um manipulador de eventos. Manipulação de eventos O aplicativo de locais tem dois manipuladores de eventos: um que preenche a grade de endereços ao selecionar um endereço na caixa da lista de endereços, e outro que cria uma janela quando se clica no botão Exibir da grade de endereços. Ambos estes manipuladores de eventos são mostrados na Listagem 9, que é uma versão atualizada da Listagem 1: Listagem 9. Places.java, tomada 3 import java.util.arraylist; import java.util.iterator; import java.util.list; import com.google.gwt.core.client.entrypoint; import com.google.gwt.core.client.gwt; import com.google.gwt.event.dom.client.changeevent; import com.google.gwt.event.dom.client.changehandler; import com.google.gwt.event.dom.client.clickevent; import com.google.gwt.event.dom.client.clickhandler; import com.google.gwt.user.client.window; import com.google.gwt.user.client.rpc.asynccallback; import com.google.gwt.user.client.ui.horizontalsplitpanel; import com.google.gwt.user.client.ui.listbox; import com.google.gwt.user.client.ui.rootpanel; public class Places implements EntryPoint { final ListBox addresses = new ListBox(); final HorizontalSplitPanel hsp = new HorizontalSplitPanel(); final ArrayList<Address> addresslist = new ArrayList<Address>(); final AddressGrid addressgrid = new AddressGrid("Show", new ShowPlaceHandler()); public void onmoduleload() { hsp.add(addresses); hsp.add(addressgrid); hsp.setsplitposition("175px"); getaddresses(); addresses.addchangehandler(new ChangeHandler() { public void onchange(changeevent e) { addressgrid.setaddress(addresslist.get(addresses.getselectedindex())); ); RootPanel.get().add(hsp); public void getaddresses() { AddressServiceAsync as = (AddressServiceAsync) GWT.create(AddressService.class); as.getaddresses(new AsyncCallback<List<Address>>() { public void onfailure(throwable caught) { GWT.log("Can't access database", caught); public void onsuccess(list<address> result) { Iterator<Address> it = result.iterator(); while (it.hasnext()) { Address address = it.next(); addresses.additem(address.getaddress()); addresslist.add(address); addresses.setvisibleitemcount(result.size()); addressgrid.setaddress(addresslist.get(0)); );

10 Page 10 of 12 private class ShowPlaceHandler implements ClickHandler { private String[] urls; public void onclick(clickevent event) { final WeatherServiceAsync ws = (WeatherServiceAsync) GWT.create(WeatherService.class); final MapServiceAsync ms = (MapServiceAsync) GWT.create(MapService.class); final Address address = addressgrid.getaddress(); addressgrid.getbutton().setenabled(false); ms.getmap(address.getaddress(), address.getcity(), address.getstate(), new AsyncCallback<String[]>() { public void onfailure(throwable arg0) { Window.alert(arg0.getMessage()); public void onsuccess(final String[] urls) { addresses.setenabled(true); ws.getweatherforzip(address.getzip(), true, new AsyncCallback<String>() { public void onfailure(throwable arg0) { Window.alert(arg0.getMessage()); done(); public void onsuccess(string weatherhtml) { PlaceDialog dialog = new PlaceDialog(addressGrid.getAddress(), urls, weatherhtml); dialog.setpopupposition(200, 200); dialog.show(); done(); ); ); private void done() { addressgrid.getbutton().setenabled(true); O aplicativo de locais modificado na Listagem 9 acrescenta um manipulador de mudanças à caixa da lista de endereços. Aquele manipulador de mudanças atualiza a grade de endereços para refletir o endereço que o usuário selecionar na caixa de listagem. O aplicativo também instancia uma instância de AddressGrid com texto e um manipulador de cliques para o botão da grade. Aquele manipulador de cliques é implementado na classe ShowPlaceHandler, que aninha RPCs ao mapa e aos serviços meteorológicos da Web. Quando ambos os RPCs são completados, o manipulador de eventos cria uma caixa de diálogo que contém um mapa e a previsão do tempo para o endereço selecionado. Aquela caixa de diálogo é uma instância de PlaceDialog, que discutiremos na Parte 2. Note que a Listagem 9 usa manipuladores, e não listeners. O GWT implementou originalmente o padrão de listener familiar do Swing para manipulação de eventos: Foi implementada uma interface de listener, às vezes por meio de uma classe de adaptador que implementou métodos vazios, de forma que não é necessário implementar todos os métodos da interface. A partir do GWT 1.6, os listeners são substituídos por manipuladores. Manipuladores são bastante semelhantes a listeners, porém os manipuladores definem um só método, e os manipuladores sempre recebem um único objeto de evento. Os manipuladores, que escutam um único tipo de evento, são mais refinados que os listeners. Além disso, os listeners recebem o widget que desencadeou o evento, enquanto os manipuladores recebem mais informações através de um objeto de evento que contém informações específicas do evento, incluindo o widget que desencadeou o evento. Neste ponto, o aplicativo de locais já tem uma boa quantidade de funcionalidades. Devemos fazer alguns testes para testar aquelas funcionalidades, então a seguir vou mostrar como testar suas chamadas Ajax com o GWT. Testes do Ajax O GWT permite a integração com o JUnit, o que facilita os testes de seu aplicativo. O modo mais fácil de começar é rodar o script junitcreator do GWT, que cria testes do esqueleto de seu aplicativo. É assim que eu o rodo para criar testes de esqueleto do aplicativo de Locais: junitcreator -junit /Developer/Java/Tools/junit-4.5/junit-4.5.jar -module com.clarity.places -eclipse Places com.clarity.client.placestest

11 Page 11 of 12 O script junitcreator cria um diretório de testes e testes de esqueleto, como mostrado na Figura 5: Figura 5. Estrutura do diretório de testes Note que eu deliberadamente criei a classe de testes no mesmo pacote, embora não no mesmo diretório da implementação da interface com o usuário do aplicativo. Isso facilita o acesso, pela classe de testes, às variáveis pertencentes às classes UI, e também mantém o código de testes separado do código de UI. Colocar a classe de testes em um diretório diferente, mas no mesmo pacote do UI, é comum da linguagem do GWT. Agora que o GWT criou uma classe de testes de esqueleto, vamos fornecer a implementação. Criamos uma instância do aplicativo, manipulamos os widgets com programas, e verificamos os resultados. A listagem 10 mostra como testar a capacidade do aplicativo de locais de obter endereços do banco de dados: Listagem 10. Testando RPCs import com.google.gwt.junit.client.gwttestcase; import com.google.gwt.user.client.timer; import com.google.gwt.user.client.ui.listbox; public class PlacesTest extends GWTTestCase { public String getmodulename() { return "com.clarity.places"; public void testgetaddresses() { Places demo = new Places(); demo.getaddresses(); final ListBox addresses = demo.addresses; new Timer() { public void run() { assert (addresses.getitemcount() == 6); assert (demo.addresslist.size() == 6); finishtest();.schedule(10000); delaytestfinish(20000); A Listagem 10 implementa uma linguagem comum do GWT que usa um cronômetro, junto com chamadas de finishtest() e delayfinishtest(), para testar chamadas assíncronas ao servidor. O método testgetaddresses(): 1. Cria uma instância do aplicativo de locais. 2. Chama o método getaddresses() do aplicativo. 3. Afirma que o aplicativo subseqüentemente preencheu a caixa da lista de endereços com seis endereços. 4. Afirma que o aplicativo subseqüentemente preencheu a lista de endereços do aplicativo com seis endereços. Como a chamada de getaddresses() é assíncrona, é preciso esperar até ela terminar para poder conferir o número de itens na caixa da lista de endereços, assim fazemos essa verificação em um cronômetro que roda 10 segundos depois que o cronômetro é criado. Estes 10 segundos dão ao aplicativo tempo suficiente para completar o RPC. A chamada de delaytestfinish() diz ao GWT para esperar 20 segundos até a chamada de finishtest(). Se finishtest() não for chamado em 20 segundos, o tempo limite do teste se esgota com um erro. Na próxima vez O GWT é mais indicado para criar aplicativos do tipo desktop que são repletos de amenidades, como arraste e solte, janelas e caixas de diálogo, e widgets interativos como portas de visualização. Embora seja um aplicativo simples, o aplicativo de locais

12 Page 12 of 12 ilustra o potencial do GWT para se construir um aplicativo destes. Até agora eu mostrei alguns fundamentos do GWT, incluindo RPCs e acesso aos bancos de dados, implementação de widgets compostos, manipulação de eventos e testes do Ajax. Na parte 2 vamos aprender algumas características avançadas do GWT, incluindo eventos de sinking, implementação de módulos do GWT, e o uso da pré-visualização de eventos.

Criando uma agenda simples com NetBeans 6.5

Criando uma agenda simples com NetBeans 6.5 Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com DSC/CEEI/UFCG marcio@dsc.ufcg.edu.br priscillakmv@gmail.com 1 Realiza atividades com ênfase em Ensino, Pesquisa e Extensão (Ensino) 2 Configurando o projeto Adicionando código ao arquivo com o código-fonte

Leia mais

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Prática em Laboratório N.02 Criando um serviço Web via NetBeans Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,

Leia mais

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Word 2013 parece diferente das versões anteriores, por isso criamos este guia para ajudar você a minimizar a curva de aprendizado. Barra de Ferramentas de Acesso Rápido

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012

Leia mais

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação alyssonfm@lcc.ufcg.edu.br Maio - 2010 Agenda GWT Vantagens Desvantagens Exemplificação de códigos GWT

Leia mais

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido

Leia mais

Banner Flutuante. Dreamweaver

Banner Flutuante. Dreamweaver Banner Flutuante Dreamweaver Começamos com um arquivo em branco no Dreamweaver MX. Para que o banner apareça sobre a página, precisamos inserir uma camada a mais no arquivo HTML. Selecione o menu Inserir

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

AJAX em Java com o Google Web Toolkit

AJAX em Java com o Google Web Toolkit AJAX em Java com o Google Web Toolkit Maurício Linhares de Aragão Junior AJAX rápido, fácil e puro Java com o Google Web Toolkit Introdução O desenvolvimento de aplicações que utilizam o conjunto de tecnologias

Leia mais

Sistema de Recursos Humanos

Sistema de Recursos Humanos Sistema de Recursos Humanos Projeto 1 O objetivo desse sistema é gerenciar a admissão e a demissão de funcionários. Esse funcionário pode ou não ter dependentes. Esse funcionário está alocado em um departamento

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Série ArcGIS Online I. Aprenda em 20. Módulo 4. Configure pop-ups. www.academiagis.com.br

Série ArcGIS Online I. Aprenda em 20. Módulo 4. Configure pop-ups. www.academiagis.com.br Série ArcGIS Online I Aprenda em 20 Módulo 4 Configure pop-ups Junho/2015 academiagis@img.com.br www.academiagis.com.br 1 Configure pop-ups No módulo 3, você trabalhou com várias propriedades diferentes

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Omondo EclipseUML Ricardo Rodrigues Lecheta Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Introdução Neste tutorial será apresentado

Leia mais

CAPÍTULO 35 Como utilizar os componentes ColdFusion

CAPÍTULO 35 Como utilizar os componentes ColdFusion CAPÍTULO 35 Como utilizar os componentes ColdFusion Os componentes ColdFusion (CFC) permitem ao usuário encapsular lógicas de aplicação e de negócios (business logic) em unidades auto-controladas reutilizáveis.

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Professor: Macêdo Firmino Disciplina: Redes de Computadores II

Professor: Macêdo Firmino Disciplina: Redes de Computadores II Professor: Macêdo Firmino Disciplina: Redes de Computadores II Em um computador baseado no Windows, você pode compartilhar arquivos entre usuários remotos (outro computador). Os usuários remotos se conectam

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos

Leia mais

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues zanonr@gmail.com. UNIVEM - Prof. Elvis Fusco

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues zanonr@gmail.com. UNIVEM - Prof. Elvis Fusco II Semana TI Curso ASP.NET AJAX Raphael Zanon Rodrigues zanonr@gmail.com UNIVEM - Prof. Elvis Fusco Apresentação O que é o AJAX? AJAX e o desenvolvedor AJAX para ASP.NET AJAX prático O que é AJAX? AJAX

Leia mais

Interfaces Gráficas parte 3

Interfaces Gráficas parte 3 parte 3 (Listview, AlertDialog e ActionBar) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação

Leia mais

Criar fotos em 3D no Creator

Criar fotos em 3D no Creator Criar fotos em 3D no Creator O aplicativo Criar fotos em 3D da Roxio torna simples produzir fotos em 3D a partir de várias origens, incluindo arquivos 3D MPO de Fujifilm FinePix REAL 3D W1, fotos digitais

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

Análise de Dados do Financeiro

Análise de Dados do Financeiro Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.

Leia mais

AULA 1 Iniciando o uso do TerraView

AULA 1 Iniciando o uso do TerraView 1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Configurar o Furbot no Eclipse

Configurar o Furbot no Eclipse Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão

Leia mais

Web Design Aula 11: Site na Web

Web Design Aula 11: Site na Web Web Design Aula 11: Site na Web Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Criar o site em HTML é interessante Do que adianta se até agora só eu posso vê-lo? Hora de publicar

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tratamento de Eventos Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os modelos mais comuns de tratamento de eventos da plataforma Android. Aprender a utilizar

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

Uma introdução ao Google App Engine com GWT

Uma introdução ao Google App Engine com GWT : : www.mundoj.com.br : : Uma introdução ao Google App Engine com GWT Desenvolvendo Java em Cloud Computing. Luiz Felipe Gomes Teixera É desenvolvedor Java na IPNET Soluções com ênfase em aplicações em

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Prática 6 ActionScript

Prática 6 ActionScript Prática 6 ActionScript 1. Objetivos Se familiarizar com o ActionScript. Usar comandos e funções básicas. 2. Recursos Necessários Computador com o programa Macromedia Flash MX ou superior. 3. Conceitos

Leia mais

Excel VBA - Parte IV:Inserindo um formulário e seus comandos

Excel VBA - Parte IV:Inserindo um formulário e seus comandos Page 1 of 9 Excel VBA - Parte IV:Inserindo um formulário e seus comandos desenvolvendo VBA através de um exemplo prático Nesta parte do artigo vamos ver como inserir formulários e seus componentes. Conteúdo

Leia mais

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Introdução ao Android SDK. Prof. Me. Hélio Esperidião Introdução ao Android SDK Prof. Me. Hélio Esperidião Android SDK O Android SDK permite que os desenvolvedores elaborem as aplicações a partir de um dispositivo virtual para os aparelhos de celular e tablet,

Leia mais

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização Sumário 1. Configurações Iniciais...2 1.1. Configurando o Menu Personalizado...2 1.2. Configurando os Widgets...3 2. Localize o nome de

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Arquivos e Pastas. Instrutor Antonio F. de Oliveira. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

Arquivos e Pastas. Instrutor Antonio F. de Oliveira. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Arquivos e Pastas Duas visões do Windows Explorer A Hierarquia do Explorer Aparência das pastas Personalizando o Explorer Manipulação de Arquivos e pastas Uso de atalhos Visões do Windows Explorer Para

Leia mais

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo Conteúdo Estruturas de repetição (loops, laços)... 2 WHILE (enquanto)... 2 DO... WHILE (faça... enquanto)... 2 FOR... 3 FOREACH... 4 EXERCICIO LOOP FOR... 4 Novo Projeto... 5 Controles SWING... 10 1 Estruturas

Leia mais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U)

Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U) Animação Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U) Crie uma bola segurando a tecla SHIFT com uma cor qualquer Duplique essa bola através do menu Editar

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo

Leia mais

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 08 1. OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 08 1. OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa PRINCÍPIOS DE INFORMÁTICA PRÁTICA 08 1. OBJETIVO Aprender a utilizar mapas, colocar filtros em tabelas e a criar tabelas e gráficos dinâmicos no MS-Excel. Esse roteiro foi escrito inicialmente para o Excel

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Banco de Dados BrOffice Base

Banco de Dados BrOffice Base Banco de Dados BrOffice Base Autor: Alessandro da Silva Almeida Disponível em: www.apostilando.com 27/02/2011 CURSO TÉCNICO EM SERVIÇO PÚBLICO Apostila de Informática Aplicada - Unidade VI Índice Apresentação...

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Java com Banco de Dados Posgree

Java com Banco de Dados Posgree Java com Banco de Dados Posgree Prof. Luiz Claudio Ferreira de Souza www.luizclaudiofs.blogspot.com 1 Driver para ligação Java e Postgre http://jdbc.postgresql.org/download.html www.luizclaudiofs.blogspot.com

Leia mais

Table of Contents. PowerPoint XP

Table of Contents. PowerPoint XP Table of Contents Finalizando a apresentação...1 Usando anotações...1 Desfazer e repetir...1 Localizar e substituir...2 Substituir...2 Efeitos de transição...3 Esquema de animação...6 Controlando os tempos

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

Procedimentos para Instalação do Sisloc

Procedimentos para Instalação do Sisloc Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação

Leia mais

ÍNDICE... 2 POWER POINT... 4. Abas... 7 Salvando Arquivos... 8 Abrindo um arquivo... 11 LAYOUT E DESIGN... 13

ÍNDICE... 2 POWER POINT... 4. Abas... 7 Salvando Arquivos... 8 Abrindo um arquivo... 11 LAYOUT E DESIGN... 13 Power Point ÍNDICE ÍNDICE... 2 POWER POINT... 4 Abas... 7 Salvando Arquivos... 8 Abrindo um arquivo... 11 LAYOUT E DESIGN... 13 Guia Design... 14 Cores... 15 Fonte... 16 Efeitos... 17 Estilos de Planos

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

AJAX no GASweb. Mas e afinal, para que usamos o AJAX? Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Manual Replicação Manual VPN

Manual Replicação Manual VPN Manual Replicação Introdução O que é cloudcomputing ou computação na nuvem? Refere-se à utilização de um servidor com alta capacidade de armazenamento de dados e que com configurações que aguentam um alto

Leia mais

Novell Vibe 4.0. Março de 2015. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Novell Vibe 4.0. Março de 2015. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos Novell Vibe 4.0 Março de 2015 Inicialização Rápida Quando você começa a usar o Novell Vibe, a primeira coisa a se fazer é configurar sua área de trabalho pessoal e criar uma área de trabalho de equipe.

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

Manual de configuração do sistema

Manual de configuração do sistema Manual de configuração do sistema (v.1.5.x Beta) Rua México, 119 Sala 2004 Centro Rio de Janeiro, RJ www.doctors-solution.com.br www.simdoctor.com.br contato@simdoctor.com.br Sumário 1. Fazendo seu primeiro

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Inserindo Dados no Banco de Dados Paradox.

Inserindo Dados no Banco de Dados Paradox. Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database

Leia mais

VERSÃO PARA INTERNET. Tutorial SIGA BRASIL CNT 15.01.2013

VERSÃO PARA INTERNET. Tutorial SIGA BRASIL CNT 15.01.2013 VERSÃO PARA INTERNET Tutorial SIGA BRASIL CNT 15.01.2013 O objetivo deste tutorial é ensinar ao usuário alguns procedimentos básicos para manusear o SIGA BRASIL, que é uma ferramenta de pesquisa do Orçamento

Leia mais

Unidade 1: O Painel de Controle do Excel *

Unidade 1: O Painel de Controle do Excel * Unidade 1: O Painel de Controle do Excel * material do 2010* 1.0 Introdução O Excel nos ajuda a compreender melhor os dados graças à sua organização em células (organizadas em linhas e colunas) e ao uso

Leia mais

POWERPOINT BÁSICO. Facilitador Alisson Cleiton dos Santos Analista Programador / Professor contato@alissoncleiton.com.br

POWERPOINT BÁSICO. Facilitador Alisson Cleiton dos Santos Analista Programador / Professor contato@alissoncleiton.com.br POWERPOINT BÁSICO Facilitador Alisson Cleiton dos Santos Analista Programador / Professor contato@alissoncleiton.com.br POWER POINT INICIANDO O POWERPOINT 2000 Para iniciar o PowerPoint 2000. A partir

Leia mais

WORKSHOP Ferramenta OLAP IBM Cognos

WORKSHOP Ferramenta OLAP IBM Cognos WORKSHOP Ferramenta OLAP IBM Cognos O objetivo deste documento é orientar o usuário final na utilização das funcionalidades da ferramenta OLAP IBM Cognos, referente a licença de consumidor. Sumário 1 Query

Leia mais

Manipulação de Banco de Dados com Java 1. Objetivos

Manipulação de Banco de Dados com Java 1. Objetivos Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A

Leia mais

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal. MANUAL DO SISCOOP Sumário 1 Menu de Navegação... 3 2 Gerenciar País... 5 3- Gerenciamento de Registro... 8 3.1 Adicionar um registro... 8 3.2 Editar um registro... 10 3.3 Excluir um registro... 11 3.4

Leia mais

Repeater no GASweb. Regiões

Repeater no GASweb. Regiões Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência

Leia mais

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO SISTEMA DE BANCO DE IMAGENS MANUAL DE USO Versão: BETA Última atualização: 24/06/2012 Índice O sistema de banco de imagens 03 Pesquisa de fotos 04 Pautas e eventos 08 Cadastro de fotos 09 Edição e indexação

Leia mais

ÍNDICE... 3 INTRODUÇÃO... 4. A série... 4

ÍNDICE... 3 INTRODUÇÃO... 4. A série... 4 EXCEL 2007 e 2010 2 ÍNDICE ÍNDICE... 3 INTRODUÇÃO... 4 A série... 4 01 LISTA COM VALIDAÇÃO... 5 02 FUNÇÕES FINANCEIRAS... 7 03 FUNÇÃO DE BANCO DE DADOS... 12 04 RÓTULOS... 15 05 TABELA DINÂMICA... 18 06

Leia mais

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO:

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO: NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO: Sumário NA AGENDA COMO FAÇO PARA VER PACIENTES COM TRATAMENTO EM ABERTO MAIS SEM AGENDAMENTO?... 2 COMO FAÇO PARA PROCURAR UM PACIENTE E IMPRIMIR

Leia mais

Capítulo 1 Conceito Básico

Capítulo 1 Conceito Básico Capítulo 1 Conceito Básico O Forzip é um software de gerenciamento de produção de cartões de identificação, desde pequenas quantidades até volumes industriais, que vem sendo aprimorado constantemente com

Leia mais

Microsoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar relatórios para um novo banco de dados Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: O produto final Lição: Inclui oito seções Tarefas práticas sugeridas Teste Visão

Leia mais

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES Conteúdo O Projeto... 2 Criação de Pacotes... 4 Factory:... 6 DAO:... 15 GUI (Graphical User Interface ou Interface Gráfica de Cadastro)... 18 Evento SAIR... 23 Evento CADASTRAR... 24 1 O Projeto Arquivo

Leia mais

Criação de um novo projeto no Eclipse utilizando Maven

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

1 Criando um aplicativo visual em Java

1 Criando um aplicativo visual em Java 1 Criando um aplicativo visual em Java Inicie o Netbeans e nele crie um novo projeto, em categorias escolha Java e em projetos escolha Aplicativo Java, na próxima janela escreva o nome do projeto PrimeiroAplicativoVisual

Leia mais

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

Programação para Android. Aula 05: Estilos e temas; galeria de imagens Programação para Android Aula 05: Estilos e temas; galeria de imagens Objetivos Aplicar estilos e temas Criar uma galeria de imagens com o widget Gallery Parte 01: Estilos e temas Interface de Usuários

Leia mais

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame 6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java

Leia mais

Como fazer busca de imagem no Google?

Como fazer busca de imagem no Google? Como fazer busca de imagem no Google? Passo 1: Acesse o endereço do Google e depois clique na opção Imagens, que fica na barra superior da página Passo 2. Digite a palavra que procura. Observe que o Google

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais