Criação Dinâmica de Interfaces Gráficas Definidas em XML. Manual de Utilização da Package Xil 0.5A

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

Download "Criação Dinâmica de Interfaces Gráficas Definidas em XML. Manual de Utilização da Package Xil 0.5A"

Transcrição

1 Criação Dinâmica de Interfaces Gráficas Definidas em XML de Utilização da Package Xil 0.5A Relatório de Projecto (parte II) Ano Lectivo: 2002/2003 Curso: Licenciatura em Ensino De Informática Orientador: Prof. Doutor João M. P. Cardoso Realizado por: Nome: Gil Moreira N.º Faro, 4 de Julho de 2003

2 Índice ÍNDICE...I ÍNDICE DE FIGURAS... II ÍNDICE DE EXEMPLOS... II 1. INSTALAÇÃO COMPONENTES DEFINIÇÃO EM XML Palavras-Chave da Interface GUI Size Palavras-Chave dos Componentes Button CheckBox ImageLabel & TextLabel TextArea TextField MenuBar Menu MenuItem OUT Posicionamento dos componentes Atributos Especiais ACTION...18 open & saveas...18 box...20 msg...21 exit GERAÇÃO E INTERACÇÃO COM A INTERFACE Exemplos Olá Mundo Botão de saída Botão Abrir Métodos Geração Verificação de estados Alteração de estados Obtenção de valores Modificação de valores Interacção com o utilizador LIMITAÇÕES TABELAS DE REFERÊNCIA Tabela de componentes e atributos suportados Tabela do atributo ACTION Tabela de métodos...38

3 Índice de figuras Figura 1 Componentes colocados numa janela. 2 Figura 2 Caixa de verificação seleccionada. 3 Figura 3 Menu Aberto. 3 Figura 4 Janela gerada por XML. 6 Figura 5 Exemplo de uma label. 11 Figura 6 Label com alinhamento Exemplo Figura 7 Label com alinhamento Exemplo Figura 8 Label com alinhamento Exemplo Figura 9 Label com contorno. 12 Figura 10 Caixa de Texto com Scroll Activado 13 Figura 11 Exemplo de posicionamento. 16 Figura 12 Interface redimensionada. 17 Figura 13 Exemplo da janela de escolha de ficheiro. 19 Figura 14 Caixa de confirmação. 20 Figura 15 Caixa de Introdução de Dados. 20 Figura 16 Exemplo de uma caixa de mensagem. 22 Figura 17 Exemplo de uma caixa de mensagem sem título nem mensagem. 22 Figura 18 Olá Mundo versão com interface gráfica. 23 Figura 19 Exemplo de um botão de saída. 25 Figura 20 Exemplo de um botão de abrir ficheiro. 26 Figura 21 Janela de escolha de ficheiros. 26 Figura 22 Resultado da escolha de ficheiro. 27 Figura 23 TextField Inactivo. 30 Índice de exemplos Exemplo 1 Definição em XML Exemplo 2 Código simples de uma classe cliente Exemplo 3 Código cliente com interacção ii

4 1. Instalação Para utilizar esta package é necessário ter o SDK Java 1 instalado, e o parser XML Xerces 2. A instalação é muito simples, basta colocar o xil.jar num directório qualquer à escolha, e acrescentar à variável de ambiente CLASSPATH a linha caminho do directório\xil.jar. Por exemplo, supondo que se tinha copiado o ficheiro para o directório c:\java\xil\, e ele se chama xil.jar, teria de ser adicionada a seguinte linha ao CLASSPATH, c:\java\xil\xil.jar. A forma de adicionar esta linha à variável de ambiente depende do sistema operativo, por exemplo em Windows seria usado o comando SET da seguinte forma: SET CLASSPATH=%CLASSPATH%;caminho\xil.jar E em GNU/Linux: CLASSPATH=%CLASSPATH:caminho/xil.jar Alternativamente, basta indicar ao compilador Java através da opção cp ou classpath o caminho para a pakcage. Posteriormente apenas é necessário incluir no programa Java a seguinte linha, import xil.*;. 1 Disponível no site da Sun, 2 Disponível no site 1

5 2. Componentes Em primeiro lugar é necessário introduzir os termos que são utilizados quando se fala de interfaces gráficas, e mais especificamente os termos que são necessários para compreender a definição em XML de uma interface. A primeira definição que se pode fazer é a de um componente, este é o nome dado aos objectos que fazem parte da interface gráfica. Tomando isto em consideração, observe-se a seguinte imagem de uma interface gráfica: Figura 1 Componentes colocados numa janela. Nesta primeira imagem podemos observar os seguintes tipos de componentes: 1. Frame Janela, é essencialmente um painel onde são colocados os outros componentes da interface. Normalmente possui uma barra superior onde se encontram os botões para minimizar 3, maximizar 4, e fechar a janela. 2. Menu Bar Barra de Menus, é um campo dentro de uma janela, que está reservado para a colocação de menus. 3 Reduzir a janela de forma a ficar visível apenas na forma de, tipicamente, um ícone. 4 Aumentar a janela de forma a ocupar todo o ecrã. 2

6 3. Button Botão, é uma representação virtual de um botão simples. Normalmente desencadeia uma acção após ser pressionado. 4. Textfield Campo de texto, é uma zona onde se pode colocar algum texto. E é possível editar o texto que lá está. 5. Check Box Caixa de verificação, é um tipo de botão que funciona como variável boleana, isto é, possui dois estados seleccionada ou não seleccionada. Quando está seleccionada, Figura 2, apresenta uma marca. Figura 2 Caixa de verificação seleccionada. 6. Label Etiqueta, é um componente que serve para colocar texto que não é possível editar, ou seja, só o programador controla o texto que lá aparece. Também é possível inserir imagens neste componente. 7. Textarea Área de texto, de mesma forma que o Textfield permite colocar e editar texto, suportando no entanto mais do que uma linha. 1 2 Figura 3 Menu Aberto. Na imagem da Figura 3 podemos ver: 1. Menu Menu, botão que quando carregado mostra uma lista com opções para escolha. 2. Menu Item Opções de menu, são opções que aparecem num menu, tipicamente após a escolha de uma, é desencadeada uma acção na aplicação. 3

7 Utilizando a package desenvolvida é possível definir todos os componentes ilustrados anteriormente, e outros que serão introduzidos mais adiante, num ficheiro XML. 4

8 3. Definição em XML Para construir uma interface gráfica utilizando a package, é necessário definir em XML os componentes. Esta definição é feita de forma semelhante ao modo como se define uma página em HTML. Existem palavras-chave que definem os componentes e respectivos atributos, e outras que servem para configurar a interface. As palavras-chave também podem ser chamadas de Tags. Um exemplo de uma palavra-chave pode ser: <Componente [Atributo1= valor. AtributoN= valor ]/> O carácter < marca o inicio e os caracteres /> marcam o fim. Caso seja necessário indicar que existem componentes dentro de componentes, por exemplo com os menus, utiliza-se uma forma diferente de terminar a definição. <Componente [Atributo1= valor. AtributoN= valor ]/> <SubComponente [Atributo1= valor. AtributoN= valor ]/> </Componente> A estrutura básica de um documento em XML para definir uma interface é a seguinte: <?xml version="1.0"?> <GUI NAME="Janela"> <Size WIDTH="300" HEIGHT="100"/> </GUI> Exemplo 1 Definição em XML. 5

9 A package desenvolvida a partir desta definição XML gera a seguinte interface: Figura 4 Janela gerada por XML. Podem-se ver, neste exemplo, algumas das palavras-chave utilizadas. Por exemplo, a palavra-chave GUI indica que vamos iniciar a definição de uma interface, e a palavra Size, controla o tamanho da janela gerada. A primeira linha do documento é opcional, no entanto existe uma opção para configurar o tipo de caracteres suportados no ficheiro que poderá ser útil caso se queira utilizar acentos ou outros caracteres diferentes. Deve-se colocar na primeira linha o seguinte: <?xml version= 1.0 encoding= UTF-16?> Os valores do parâmetro encoding estão definidos no standard do XML, e definem essencialmente o tipo de codificação de caracteres que deve ser esperada no documento. Alguns valores são: UTF-8 UTF-16 EUC-JP US-ASCII Codificação Unicode 8 bits Unicode 16 bits, suporta caracteres acentuados Para caracteres japoneses Tradicional código ASCII O editor utilizado para criar o ficheiro XML tem de suportar a codificação utilizada. 6

10 3.1 Palavras-Chave da Interface Antes de se definir as palavras-chave e atributos é necessário ter em conta que tanto num caso como noutro eles são case sensitive, ou seja, se estiver definida uma palavra-chave como sendo PaLaVra é assim que tem de constar no ficheiro XML. Tendo isto em conta, todos os valores de atributos, que são prédefinidos, por exemplo os true e false, têm de estar em minúsculas. Para além disto, todos as palavras-chave ou atributos entre [ ] são considerados opcionais e os valores de atributos separados por, indicam que deve ser escolhido um GUI A palavra-chave GUI marca o início da definição da interface gráfica, todos os componentes são definidos entre o início e o fim desta. Os atributos suportados são, o atributo NAME que serve para definir o nome da janela que irá aparecer, se não for colocado nenhum nome, o nome por omissão é Janela. E o atributo RESIZE, que aceita os valores true ou false, e quando lhe é atribuido false impede o utilizador de redimensionar a janela manualmente. <GUI NAME= nome [ RESIZE= true false ]> </GUI> <Componente1 /> <ComponenteN /> Size Esta tag indica que queremos definir o tamanho da janela, os atributos WIDTH e HEIGHT correspondem, respectivamente, à largura e altura da janela. Se não for incluída esta tag, ou faltar um dos atributos, é atribuído um tamanho por omissão de 400x400. Os valores aqui colocados têm de ser inteiros maiores que zero. <Size WIDTH= num HEIGHT= num /> 7

11 Por Exemplo: <Size WIDTH= 800 HEIGHT= 600 /> Define um tamanho para a janela de 800x600. 8

12 3.2 Palavras-Chave dos Componentes Os diferentes componentes aqui apresentados possuem alguns atributos em comum, por esse motivo quando se explicar os atributos de um componente, só se falará dos atributos não explicados previamente Button A tag Button é utilizada para definir um botão. A definição mais básica é a seguinte: <Button NAME="nome" LABEL="Botao" /> O atributo NAME define o nome do botão e é o único obrigatório, sem ele o componente não será processado. É por esse nome que o componente é referenciado no lado da aplicação cliente, por esse motivo o nome deve ser único. Não devem existir componentes com nomes iguais. Por outro lado, o atributo LABEL é facultativo e serve para colocar uma etiqueta visível no botão, tipicamente para indicar a sua função. No exemplo seguinte podem-se observar mais alguns atributos possíveis para o botão, nomeadamente a forma de especificar acções que despoletam código cliente. <Button NAME="nome" LABEL="Botao" CLASS="classe" METH="nome_do_metodo" VISIBLE="estado"/> O atributo METH serve para indicar qual o método da aplicação que é chamado quando o botão é pressionado. Este método deve ser do tipo: Public void nome_do_metodo() { } O atributo CLASS indica a classe Java onde se encontra o método definido pelo o atributo METH. Deve ser indicado o caminho completo para lá chegar, isto é, 9

13 se o método se encontra na classe principal que pertence à package programa, o caminho indicado deverá ser CLASS= programa.principal. O atributo VISIBLE, como o nome indica controla a visibilidade inicial de um componente. São suportados dois valores true e false, se eu colocar VISIBLE= false, o componente não será visível. Por omissão os componentes são visíveis, ou seja é igual ter VISIBLE= true ou omitir a tag. O atributo ENABLED controla se o componente está activo ou não. Se um componente não estiver activo o utilizador não consegue interagir com ele. Este componente ainda suporta mais um atributo o ACTION, que é designado como atributo especial, do qual depende a presença de outros atributos, e será explicado à parte. A sintaxe geral desta tag, sem incluir o atributo ACTION é a seguinte: <Button NAME="nome" [ LABEL="Botao"] [CLASS="classe" METH="nome_do_metodo"] [VISIBLE="true false" ] [ENABLED= true false ]/> CheckBox Tag utilizada para definir uma caixa de verificação. A sintaxe geral é a seguinte: <CheckBox NAME="nome" [ LABEL="CheckBox"] [CLASS="classe" METH="nome_do_metodo"] [SELECT="true false"] [VISIBLE="true false"] [ENABLED= true false ]/> Como se pode ver o único atributo novo neste componente é o SELECT, que aceita dois valores true ou false. O que este atributo controla é o estado inicial da caixa de verificação, se estiver definido true a caixa aparece logo seleccionada. Este componente também suporta o atributo ACTION ImageLabel & TextLabel Estas duas tags representam o mesmo componente, a Label, a distinção de nome serve apenas para tornar a definição mais legível no caso em que só se 10

14 deseja inserir uma imagem ou texto. Se for necessário introduzir texto e uma imagem é indiferente qual das duas tags se utiliza. A sintaxe geral é: <ImageLabel NAME="tlabel1" [ TEXT="texto_da_label"] [ALIGNV="tipo_de_alinhamento"] [ALIGNH="tipo_de_alinhamento"] [IMAGE="caminho_para_a_imagem"] [BORDER="true false"] [VISIBLE= true false ] [ENABLED= true false ]/> O atributo TEXT especifica o texto que irá aparecer dentro da label. Se colocarmos TEXT= esta e uma label, por exemplo o resultado será este: Figura 5 Exemplo de uma label. O atributo IMAGE deve conter como valor o nome e caminho de um ficheiro de imagem, por exemplo, c:\imagem.jpg. Os atributos ALIGNV e ALIGNH controlam o alinhamento do texto, esta funcionalidade é útil quando se tem uma imagem e texto dentro da label. Os valores suportados são para o ALIGNV: center alinha o texto ao centro bottom alinha o texto com o fundo top alinha o texto com o topo E para o ALIGNH: center texto alinhado ao centro right texto alinhado a direita left texto alinhado a esquerda Exemplos com alinhamentos diferentes, e uma imagem: ALIGNH= center e ALIGNV= center 11

15 Figura 6 Label com alinhamento Exemplo 1. ALIGNH= center e ALIGNV= bottom Figura 7 Label com alinhamento Exemplo 2. ALIGNH= right e ALIGNV= bottom Figura 8 Label com alinhamento Exemplo 3. O atributo BORDER, pode ter dois valores true ou false. Este atributo controla a existência ou não de uma linha de contorno. Figura 9 Label com contorno. 12

16 3.2.4 TextArea Esta tag é utilizada para inserir uma área de texto, que dispõe de barra de scroll se necessário. Figura 10 Caixa de Texto com Scroll Activado A sintaxe geral é: <TextArea NAME="texto" [TEXT="texto_a_colocar_na_caixa"] [ROWS="valor_inteiro"] [COLS="valor_inteiro"] [VISIBLE="true false"] [ENABLED= true false ]/> O atributo ROWS define o número de linhas que a caixa tem, se o texto não ultrapassar este número o scroll não é activado. Este valor tem de ser inteiro e maior que zero. O COLS é semelhante, a diferença é que controla o número de colunas que a caixa tem TextField Esta tag serve para definir pequenos campos de texto, semelhantes a uma TextArea, mas sem capacidade de scroll, e com suporte para apenas uma linha. A sintaxe geral deste componente é: <TextField NAME="text" [TEXT="texto_a_colocar"] [COLS="valor_inteiro"] [VISIBLE=" true false"] [ENABLED= true false ]/> A maior parte dos atributos são comuns com a TextArea, com excepção do ROWS que não é suportado MenuBar 13

17 Esta tag serve para indicar que os seus sub-componentes, ou seja os componentes definidos dentro da tag de abertura <Tag> e a de fecho </Tag>, pertencem a uma barra de menus. A sintaxe é muito simples: <MenuBar NAME="nome" [VISIBLE= true false ] [ENABLED= true false ]> </MenuBar> Presentemente é possível incluir dentro de uma barra de menus componentes que não sejam menus, como botões, mas não é recomendado Menu Esta palavra-chave é utilizada para definir um menu. Este componente deve ser colocado dentro de uma barra de menus, como sub-componente. A sintaxe geral deste componente é: <Menu NAME="File" [LABEL="File"] [VISIBLE= true false ] [ENABLED= true false ]> </Menu> Como facilmente se repara, este componente aceita sub-componentes, que deverão ser itens de menu. Embora, não seja aconselhado, é possível definir outros componentes como botões MenuItem O MenuItem é o componente que deve ser colocado dentro de um menu. Em funcionalidade é semelhante a um botão, suportando os mesmos atributos. <MenuItem NAME="nome" [LABEL="etiqueta"] [CLASS="classe" METH="nome_do_método"] [VISIBLE= true false ] [ENABLED= true false ]> Também suporta, tal como o botão, o atributo ACTION OUT 14

18 Esta tag serve para definir sub-janelas em relação a interface principal, que inicialmente estão escondidas. <OUT NAME="nome" [ENABLED= true false ]> </OUT> É possível definir como sub-componentes desta sub-janela, quaisquer outros componentes suportados, existe apenas um senão, o uso do atributo VISIBLE, não é suportado nesses sub-componentes. Também é possível especificar o tamanho da janela que irá ser criada por esta definição utilizando o atributo Size da forma já explicada. Estes componentes têm obrigatoriamente o RESIZE= false, não sendo possível alterar este valor. Exemplo: <OUT NAME="f1"> <Size WIDTH="100" HEIGHT="400"/> <CheckBox NAME="Check4" LABEL="CheckBox 4" SELECT="false"/> <CheckBox NAME="Check5" LABEL="CheckBox 5" SELECT="false /> <CheckBox NAME="Check6" LABEL="CheckBox 6" SELECT="true"/> <Button NAME="botao5" LABEL="Botao 5" CLASS="principal" METH="botao5_click"/> </OUT> 15

19 3.3 Posicionamento dos componentes O posicionamento dos componentes, nesta versão da package, é feito de forma sequencial em relação à definição. Quer isto dizer que os componentes são colocados na interface pela ordem em que foram definidos no XML. Utilizando a definição seguinte: <?xml version="1.0"?> <GUI NAME="Posicionamento" RESIZE="false"> <Size <CheckBox NAME="Check2" LABEL="CheckBox 2"/> <CheckBox NAME="Check1" LABEL="CheckBox 1"/> <Button NAME="botao2" LABEL="Botao 2"/> <TextField NAME="text1" TEXT="Caixa"/> <Button NAME="botao1" LABEL="Botao 1"/> </GUI> Podemos ver na Figura 11 que os componentes são colocados na interface pela mesma ordem que são definidos no ficheiro. Figura 11 Exemplo de posicionamento. A única excepção é o caso dos menus que são colocados no topo, independentemente de onde estão definidos. Se a interface for redimensionada, pelo 16

20 utilizador, o posicionamento dos componentes altera-se, como se pode ver na Figura 12. Figura 12 Interface redimensionada. Para evitar que isto aconteça a única solução é fixar o tamanho da interface através do atributo RESIZE= false na definição do GUI. 17

21 3.4 Atributos Especiais ACTION Este atributo é suportado em vários componentes, nomeadamente naqueles que logicamente desencadearão acções, como botões, itens de menu, e até caixas de verificação. É o atributo mais complexo de todos, vários outros atributos dependem dele, isto é, do valor que ele contém. Os valores suportados pelo atributo ACTION são: open saveas box exit msg Estes valores representam acções que são desencadeadas, automaticamente, após o componente, ao qual estão atribuídas, ter sido accionado. Um exemplo de um componente accionado é o botão depois de pressionado através do rato. O action suporta ainda que se coloque como valor o nome de um componente definido com OUT. Ao se definir uma acção desta forma, por exemplo, num botão quando este é accionado o componente é mostrado ao utilizador. open & saveas Quando o atributo ACTION tem o valor open, significa que o componente quando pressionado irá mostrar uma caixa de diálogo, para escolher um ficheiro. 18

22 Figura 13 Exemplo da janela de escolha de ficheiro. Não existem muitas diferenças entre o open e o saveas, essencialmente a única diferença é o título da janela que aparece. Ambos os valores implicam que se defina igualmente uma CLASS e um METH. Neste caso, ao contrário do botão, o método utilizado deve ser do tipo: Public void nome_do_metodo(file ficheiro) { } Quando esta acção é activada, depois do utilizador ter escolhido o ficheiro, este método irá ser executado tendo como parâmetro de entrada o ficheiro escolhido pelo utilizador. Caso o utilizador não tenha escolhido nenhum ficheiro, o parâmetro terá o valor null. Em relação à classe, o propósito é o mesmo já explicado anteriormente, serve para indicar onde se encontra a classe que possui o método que queremos chamar. A sintaxe geral destes atributos será então: <Componente NAME= nome ACTION= open saveas CLASS= classe METH= metodo /> 19

23 box Ao utilizar este valor pede-se que seja associada à activação do componente, o aparecimento de uma caixa, cujo tipo é variável e definido através do atributo TYPE= tipo. Quando se utiliza a acção box, é obrigatório utilizar o TYPE, os valores suportados pelo TYPE são: confirm - Caixa com uma mensagem e para pedir confirmação. input - Caixa com uma mensagem onde se pode introduzir valores. Exemplo com ACTION= box TYPE= confirm :: Figura 14 Caixa de confirmação. Exemplo com ACTION= box TYPE= input : Figura 15 Caixa de Introdução de Dados. É lógico que necessitamos de uma forma de receber ou os dados introduzidos ou a opção escolhida na confirmação, por esse motivo é necessário utilizar novamente os atributos CLASS e METH. Neste caso o METH terá de apontar para um método deste tipo: Public void nome_do_metodo(string valor) { } 20

24 Este método será executado após ter sido introduzido um valor ou escolhida uma opção numa destas caixas e esse valor é passado para o parâmetro de entrada como uma String. Os valores passados para String de entrada do método são os seguintes: Caixa de confirmação: o Yes A string irá conter o carácter 0. o No A string irá conter o carácter 1. o Fechar a Janela A string irá conter a sequência -1. Caixa de introdução de dados: o Ok A string irá conter os dados introduzidos, podem não ter sido introduzidos nenhuns dados, nesse caso a string está vazia. o Cancel e Fechar a Janela A string irá conter a sequência -1. Como se pode ver nas imagens anteriores, as caixas que aparecem possuem um título e uma mensagem. Para controlar o título e a mensagem recorre-se aos atributos MSG e TITLE, a sua utilização é muito simples, basta acrescentar MSG= texto da mensagem e TITLE= título da janela à definição do componente. Não são atributos obrigatórios, mas são recomendados, por motivos óbvios. A sintaxe geral para estes atributos é: <Componente NAME= nome ACTION= box TYPE= confirm input [MSG= mensagem ] [TITLE= titulo ] CLASS= classe METH= método /> msg O valor msg indica que queremos simplesmente mostrar uma caixa com uma mensagem. Tal como no caso anterior da box esta caixa tem uma mensagem e um título, pelo que também se utilizam aqui os atributos TITLE e MSG. 21

25 Figura 16 Exemplo de uma caixa de mensagem. A sintaxe geral de um componente com esta acção atribuída é: <Componente NAME= nome ACTION= msg [MSG= mensagem ] [TITLE= titulo ] /> Tal como no caso anterior o MSG e o TITLE são opcionais, mas não faz muito sentido deixá-los de lado pois o resultado será este: Figura 17 Exemplo de uma caixa de mensagem sem título nem mensagem. exit Este valor, quando atribuído, significa que se o componente for activado o programa termina, sem pedir confirmação nenhuma. Por outras palavras, se um botão tiver a seguinte definição: <Button NAME= botao_de_saida LABEL= sair ACTION= exit /> Após este botão ser pressionado o programa termina, sem pedir confirmação. A sintaxe é muito simples: <Componente NAME= nome ACTION= exit /> 22

26 4. Geração e interacção com a interface Para gerar uma interface é necessário defini-la em XML e usando a package criar os objectos e chamar os métodos necessários para construir a interface. Seguem-se alguns exemplos de como proceder para gerar interfaces e a descrição de todos os métodos relevantes para interagir com elas. 4.1 Exemplos Olá Mundo Utilizando as tags de componentes e atributos explicados anteriormente, define-se a interface que se quer utilizar, um exemplo de uma definição pode ser o seguinte: <GUI> <Size WIDTH="300" HEIGHT="300"/> <TextLabel NAME="etiqueta" TEXT="Ola Mundo" /> </GUI> O equivalente a um típico hello world mas usando uma interface gráfica. Figura 18 Olá Mundo versão com interface gráfica. O código em Java necessário para gerar esta janela é o seguinte: 23

27 import xil.*; public class Cliente { public static void main(string args[]) { BuildGUI g=new BuildGUI(args[0]); g.build(); } } Exemplo 2 Código simples de uma classe cliente. Pode-se ver logo no topo a linha import xil.*;, que torna disponível as classes da package xil para utilização. Mais abaixo no código vê-se a linha, BuildGUI g=new BuildGUI(args[0]) que consiste na declaração, criação e inicialização de um objecto BuildGUI, responsável pela construção da interface. O argumento args[0], consiste no nome do ficheiro XML que define a interface. Neste caso ele está a ser introduzido como argumento do programa mas, obviamente, é perfeitamente possível fixar o nome de forma estática dentro do código, se necessário. A última instrução g.build(); efectivamente constrói a interface e mostra-a. 24

28 4.1.2 Botão de saída Partindo desta definição em XML: <GUI> <Size WIDTH="200" HEIGHT="200"/> <TextLabel NAME="text1" TEXT="Exemplo de uma interface" /> <Button NAME="botao1" LABEL="Sair" ACTION="exit" /> </GUI> Utilizando o mesmo código Java que no exemplo anterior, é gerada a seguinte interface: Figura 19 Exemplo de um botão de saída. Conforme o que foi dito acerca do atributo ACTION pode-se verificar que a acção exit, atribuída ao botão, provoca a saída do programa sem confirmação Botão Abrir Usando esta definição em XML: <GUI> <Size WIDTH="300" HEIGHT="200"/> <TextLabel NAME="text1" TEXT="Exemplo de uma interface" /> <TextField NAME="tfield1" COLS="20" /> <Button NAME="botao1" LABEL="Abrir" ACTION="open" CLASS="ap_cliente.Cliente2" METH="botaoOpen"/> </GUI> 25

29 Esta definição já é mais complexa que as dos exemplos anteriores, identificase logo a utilização do atributo ACTION com o valor open que como foi dito indica que se quer abrir uma caixa de escolha de ficheiro, passando o nome desse ficheiro para o método definido com METH. A interface gerada por esta definição é a seguinte: Figura 20 Exemplo de um botão de abrir ficheiro. Após o botão ser pressionado aparece uma janela deste tipo: Figura 21 Janela de escolha de ficheiros. 26

30 Figura 22 Resultado da escolha de ficheiro. Como se pode ver o ficheiro escolhido foi escrito no campo de texto. Neste exemplo interessa analisar o código Java responsável por esta interface, especialmente porque se utiliza aqui o atributo ACTION que necessita de um método para onde devolver o valor que neste caso indica o nome de um ficheiro. O código responsável por esta aplicação é o seguinte: import java.io.file; import xil.*; public class Cliente2 { private static BuildGUI g=null; public static void main(string args[]) { g=new BuildGUI(args[0]); g.constroi(); } public void botaoopen(file fich) { g.setcomponentvalue("tfield1",fich.tostring()); } } Exemplo 3 Código cliente com interacção. Este código tem já algumas chamadas aos métodos da package, e é ligeiramente mais complexo que o dos exemplos anteriores. Uma das primeiras diferenças é que agora o objecto g é declarado como atributo da classe, para 27

31 possibilitar o acesso dos restantes métodos da classe. O código responsável pela inicialização e construção da interface encontra-se no método main e é igual ao dos exemplos anteriores. A novidade neste código é a função botaoopen(file ), que está definida no ficheiro XML como receptora do ficheiro escolhido pelo utilizador e a chamada que é feita ao método setcomponentvalue(string,string) da classe BuildGUI. O método botaoopen que é indicado no XML, como se pode observar através dos atributos CLASS e METH, recebe na variável fich o nome do ficheiro seleccionado. De seguida esse nome é convertido para String e escrito no TextField através do método setcomponentvalue(nome_do_componente,valor);. Este aceita como parâmetros de entrada, o nome do componente que queremos alterar o valor e uma String que contém esse valor que será colocado no componente. Este e os restantes métodos para interagir com os componentes serão descritos mais adiante. 28

32 4.2 Métodos Existem métodos que servem, essencialmente para gerar e interagir com os componentes da interface. Seguem-se as descrições dos métodos suportados nesta versão da package Geração Como se pôde ver nos exemplos mostrados anteriormente, a geração da interface em Java é bastante simples, consiste apenas na chamada a um único método, antecedida da criação de um novo objecto BuildGUI. O parâmetro do construtor é uma String que corresponde ao nome do ficheiro XML a utilizar. BuildGUI objectobuildgui=new BuildGUI(ficheiro_xml); objectobuildgui.buildi(); É durante a criação do novo objecto BuildGUI, que são detectados os erros que possam existir na estrutura do ficheiro XML. Erros tais como, caracteres inválidos, tags não fechadas, entre outros. O método build() devolve um valor booleano que indica o sucesso ou insucesso da geração da interface. O protótipo deste método é: boolean constroi() Verificação de estados Estes métodos são semelhantes, aceitam todos uma String com o nome do componente como parâmetro de entrada e devolvem um valor booleano indicando o estado da propriedade que estamos a verificar. 29

33 Os protótipos destes métodos são: boolean iscomponentenabled( String nome) boolean iscomponentvalid(string nome) boolean isvisible(string nome) Utilizar qualquer um destes métodos é extremamente simples, e normalmente consiste numa instrução como esta: If (objectobuildgui.isvisible( caixa1 )==true) Instruções; O iscomponentenabled verifica se um objecto está activo, propriedade Enabled. É diferente de, por exemplo, um botão quando é activado, este activo refere-se ao utilizador poder interagir com o componente. Normalmente, para representar o estado inactivo de um componente, de forma gráfica, o conteúdo deste ou mesmo o próprio componente, fica com uma cor acinzentada. Por exemplo, utilizando a interface do ponto 4.1.3, um TextField inactivo fica desta forma: Figura 23 TextField Inactivo. Os dois métodos restantes são também muito simples de perceber, o isvisible indica se o componente é visível, propriedade Visible, e o iscomponentvalid indica se o componente é válido ou seja se foi gerado a partir do XML. Estes métodos são válidos para todos os componentes. 30

34 4.2.3 Alteração de estados Das propriedades mencionados no ponto anterior, apenas é possível alterar o estado da Enabled e da Visible. Os métodos que controlam o estado têm nomes semelhantes em relação aos de verificação, mudando apenas o prefixo. Passa de is para set. Os métodos são: void setcomponentenabled(string nome, boolean estado) void setvisible(string nome, boolean estado) O setvisible controla a propriedade Visible, o método aceita o nome do componente e o estado true ou false como parâmetros de entrada. O setcomponentenabled funciona da mesma forma mas para a propriedade Enabled. Estes dois métodos são válidos para todos os componentes Obtenção de valores Alguns dos componentes possuem valores que são possíveis de obter através do método getcomponentvalue. A forma do método é a seguinte: String getcomponentvalue(string nome) O parâmetro de entrada é como habitual, o nome do componente. A String que é devolvida contém o valor do componente, valor esse que depende do tipo de componente. A seguinte relação indica quais os componentes e o valor devolvido em cada caso. 31

35 Componentes TextField TextArea TextLabel CheckBox Valor devolvido como String O texto que o componente contém. true ou false, isto é, seleccionada ou não Modificação de valores É possível através dos métodos, descritos de seguida, alterar os valores de alguns componentes. Os métodos que permitem alterar os valores são: void void setcomponentvalue(string nome, String valor) addcomponenttext(string nome, String texto) O primeiro método o setcomponentvalue funciona de maneira inversa à do getcomponentvalue. A lista de componentes suportados é igual, na seguinte relação descreve-se o que deverá conter a String valor para cada um dos componentes. Componentes TextField TextArea TextLabel CheckBox Valor introduzido como String O texto que se quiser colocar no campo. true ou false, isto é, seleccionada ou não. No caso dos componentes de texto, ao utilizar este método o texto que lá existe é completamente substituído pelo novo texto. O segundo método, addcomponenttext, serve para adicionar texto a um componente que o suporte. De momento o único componente disponível que suporta este método é a TextArea. A utilização é simples, colocamos o nome do componente e uma String com o texto que se quer acrescentar. 32

36 4.2.6 Interacção com o utilizador Nos casos em que seja necessário pedir valores ou enviar uma mensagem ao utilizador da aplicação, pode-se utilizar o método aqui descrito. String msgbox(string titulo,string mensagem, String tipo) Este método pode criar uma caixa de mensagem, com um titulo e uma mensagem, que pode ser de três tipos diferentes, consoante o valor introduzido no parâmetro tipo. Estes valores são semelhantes aos valores do atributo TYPE. confirm A caixa que aparece é de confirmação, tem dois botões YES e NO. input Com este tipo a caixa é de introdução de dados, possui um campo onde o utilizador pode escrever. msg Este tipo de caixa é somente para transmitir informação ao utilizador, só possui um botão de OK. Os valores devolvidos pelo método são diferentes para cada tipo de caixa: Caixa de confirmação Acção: Conteúdo da String de retorno: Yes O carácter 0 No O carácter 1 Fechar a Janela A sequência -1 Caixa de introdução Acção: Conteúdo da String de retorno: OK O carácter 0 Cancel Fechar a Janela A sequência -1 Acção: OK Fechar a Janela Caixa de mensagem Conteúdo da String de retorno: null 33

37 5. Limitações Na versão presente da package, como seria de esperar de uma versão precoce, existem limitações. Não é possível controlar o posicionamento dos componentes com precisão na janela. Certos componentes, como as áreas de texto, se tiverem um tamanho grande podem sair da janela e não ser possível visualizar correctamente. Quando se utiliza o atributo VISIBLE é possível que outros componentes, ao redimensionar a janela, passem a ocupar o espaço dos componentes com VISIBLE= false. 34

38 6. Tabelas de referência 35

39 6.1 Tabela de componentes e atributos suportados Tags/Palavras-Chave Atributos GUI Size Button CheckBox ImageLabel & TextLabel TextArea TextField MenuBar Menu MenuItem OUT ACTION ALIGNH ALIGNV BORDER CLASS COLS ENABLED HEIGHT IMAGE LABEL METH NAME RESIZE ROWS SELECT TEXT VISIBLE WIDTH 36

40 6.2 Tabela do atributo ACTION Atributos Correspondentes Valores CLASS METH TYPE MSG TITLE open & saveas box confirm Ou input msg exit Esta tabela é uma relação entre os valores do ACTION e os atributos suportados em cada valor. 37

41 6.3 Tabela de métodos Métodos Button CheckBox boolean iscomponentenabled( String nome) boolean iscomponentvalid(string nome) boolean isvisible(string nome) void setcomponentenabled(string nome, boolean estado) void setvisible(string nome, boolean estado) ImageLabel & TextLabel Componentes TextArea TextField MenuBar Menu MenuItem OUT String getcomponentvalue(string nome) void setcomponentvalue(string nome, String valor) void addcomponenttext(string nome, String texto) Esta tabela indica quais os componentes suportados por cada método 38

Objectos Gráficos 1. APROG (Civil) Aula 4

Objectos Gráficos 1. APROG (Civil) Aula 4 Objectos Gráficos 1 APROG () Aula 4 Objectos Gráficos Estes objectos são utilizados para construir interfaces gráficas permitindo uma interacção directa do macro com o utilizador. 2 MsgBox Finalidade:

Leia mais

1 - Ambiente de desenvolvimento

1 - Ambiente de desenvolvimento Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).

Leia mais

VBA Visual Basic for Applications. APROG - Civil

VBA Visual Basic for Applications. APROG - Civil Visual Basic for Applications APROG - Introdução é uma linguagem de programação que permite acrescentar capacidades adicionais a aplicações como o Excel ou o Word. Permite automatizar a realização de tarefas

Leia mais

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1. Índice 2. INTRODUÇÃO... 2 3. INICIAR O ZSRest Backoffice... 3 1 4. Confirmar desenho de mesas...... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5.

Leia mais

Objetivos. Sistema Operativo em Ambiente Gráfico. Introdução às Tecnologias de Informação e Comunicação

Objetivos. Sistema Operativo em Ambiente Gráfico. Introdução às Tecnologias de Informação e Comunicação Objetivos Definir o conceito de Sistema Operativo Caracterizar os diferentes elementos do Ambiente de trabalho Explicar a finalidade da barra de tarefas Trabalhar ao mesmo tempo com várias janelas Definir

Leia mais

Familiarização com a ferramenta JavaCC

Familiarização com a ferramenta JavaCC Ficha nº 2 Familiarização com a ferramenta JavaCC Estrutura do ficheiro JavaCC O JavaCC utiliza um ficheiro com a extensão.jj, onde são descritos, pelo utilizador, o léxico e a sintaxe da linguagem e gera

Leia mais

2-Introdução e Conceitos Básicos das TIC

2-Introdução e Conceitos Básicos das TIC 2-Introdução e Conceitos Básicos das TIC Procedimentos para instalar e aceder a um programa Sistema Operativo em Ambiente Gráfico Windows Prof.: Alexandra Matias Sumário Conhecer os procedimentos associados

Leia mais

O AMBIENTE DE DESENVOLVIMENTO

O AMBIENTE DE DESENVOLVIMENTO Módulo 9 O AMBIENTE DE DESENVOLVIMENTO P S I 1 1 - C P T G P S I SUMÁRIO Instalação do Java JDK - Kit de Desenvolvimento Java Download do JDK Instalação do JDK Configuração da Variável de ambiente (Path)

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Graphical user Interfaces Objetivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs - Utilizar classes do package javax.swing - Usar um modelo de programação

Leia mais

Manual de Instruções NSS Editor MANUAL DE INSTRUÇÕES. Editor de bases de dados NSS EDITOR

Manual de Instruções NSS Editor MANUAL DE INSTRUÇÕES. Editor de bases de dados NSS EDITOR MANUAL DE INSTRUÇÕES Editor de bases de dados NSS EDITOR Manual de Instruções Editor de bases de dados NSS Editor 1. Introdução Este manual aplica-se ao software de edição de bases de dados para indicadores

Leia mais

Módulo 1a: Introdução ao Visual Basic for Applications (VBA) - Eventos, Gráficos e Interfaces gráficas -

Módulo 1a: Introdução ao Visual Basic for Applications (VBA) - Eventos, Gráficos e Interfaces gráficas - Módulo 1a: Introdução ao Visual Basic for Applications (VBA) Aula #3 - Eventos, Gráficos e Interfaces gráficas - Eventos em VBA - Excel É possível detectar e reagir a eventos ocorridos - Nas folhas (sheets)

Leia mais

Input / Output na linguagem java. Para isso usamos um dos construtores da classe java.io.file:

Input / Output na linguagem java. Para isso usamos um dos construtores da classe java.io.file: Input e Output 1 A classe File Input / Output na linguagem java Antes de podermos ler/escrever de/para um ficheiro temos que criar um objecto do tipo File e associar esse objecto ao ficheiro a que queremos

Leia mais

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/06/2011

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/06/2011 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Tabelas INTERNET BÁSICA: EXTENSIBLE HYPERTEXT MARKUP LANGUAGE XHTML PARTE 3 Largamente suportado(browser); Controlar

Leia mais

Tarefa Orientada 7 Consultas de selecção

Tarefa Orientada 7 Consultas de selecção Tarefa Orientada 7 Consultas de selecção Objectivos: Consultas de selecção O Sistema de Gestão de Bases de Dados MS Access Consultas As consultas (queries) permitem interrogar a base de dados, de acordo

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Módulo 17E. Revisões de HTML. A) Noções básicas de HTML (cont.)

Módulo 17E. Revisões de HTML. A) Noções básicas de HTML (cont.) Módulo 17E Revisões de HTML A) Noções básicas de HTML (cont.) Inserção de Imagens A inserção de imagens em documentos HTML é feita através da tag (que não tem tag de fecho). A indicação do local

Leia mais

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico Tecnologias da Informação e Comunicação UNIDADE 1 Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico 1º Período SUMÁRIO Sistema Operativo: definição e tipos. Elementos básicos

Leia mais

3. Construção de páginas web Introdução ao HTML

3. Construção de páginas web Introdução ao HTML 3. Construção de páginas web 3.1. Introdução ao HTML 1 Introdução ao HTML O HTML, HyperText Markup Language, foi desenvolvido para especificar a organização lógica de um documento com extensões de hipertexto,

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

APROG. Civil. Programas Básicos. ISEP DEI, Angelo Martins 2006 ISEP DEI, António Silva Programas Básicos

APROG. Civil. Programas Básicos. ISEP DEI, Angelo Martins 2006 ISEP DEI, António Silva Programas Básicos Conteúdo Exemplo de um programa Apresentação sumária da construção de um programa em VB. Objectos e o mecanismo de eventos Apresentação dos conceitos básicos de programação em ambiente MS Windows. Tipos

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica de Telecomunicações de Computadores Guia de utilização do Moodle (Versão 1.6.2) Vista do Professor Versão 2.0 Outubro

Leia mais

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada

Leia mais

Escrever scripts de PHP com HTML

Escrever scripts de PHP com HTML Escrever scripts de PHP com HTML PHP é uma linguagem de programação de scripts para serem interpretados no lado dos servidores. Numa fase inicial (1995), PHP surgiu com o significado de Personal Home Pages

Leia mais

Ícones Emotivos. Anne-Marie Mahfouf Tradução: José Pires

Ícones Emotivos. Anne-Marie Mahfouf Tradução: José Pires Anne-Marie Mahfouf Tradução: José Pires 2 Conteúdo 1 Gestor de Temas de Ícones Emotivos 4 1.1 Introdução.......................................... 4 1.2 Temas de Ícones Emotivos.................................

Leia mais

2 Vectores de objectos

2 Vectores de objectos 2 Vectores de objectos Agenda de contactos 3 Objectivo Manipular uma agenda de contactos. Descrição e Funcionalides Cada contacto na agenda caracteriza-se por um nome, um telefone e um e-mail. Na agenda,

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas

Leia mais

Recursos Complementares (Tabelas e Formulários)

Recursos Complementares (Tabelas e Formulários) Linguagem de Programação para Web Recursos Complementares (Tabelas e Formulários) Prof. Mauro Lopes 1-31 30 Objetivo Nesta aula iremos trabalhar o conceito de tabelas e todas as tags associadas ao seu

Leia mais

Introdução ao ASP.NET Aula4

Introdução ao ASP.NET Aula4 Introdução ao ASP.NET Aula4 DropDownList Use o componente DropDownList para controlar uma única seleção para um controle de lista. Para especificar os itens que você deseja que apareça no controle de DropDownList,

Leia mais

Objectivos. Programação I (2010/2011) 2 o Trabalho de Programação

Objectivos. Programação I (2010/2011) 2 o Trabalho de Programação Programação I (2010/2011) 2 o Trabalho de Programação Introdução As progressões aritméticas e geométricas são exemplos de sucessões numéricas onde o elemento n + 1 depende do elemento n e de uma constante.

Leia mais

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016. Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016 4.1.6. Propriedades Como em qualquer linguagem Java ou C++, para acessar campos privados de uma classe,

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

Ferramentas Web, Web 2.0 e Software Livre em EVT

Ferramentas Web, Web 2.0 e Software Livre em EVT E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o d a d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a Bitmap Font Writer

Leia mais

Guia de procedimentos para construir um programa java no IDE Sun One Studio 4 update 1, Community Edition

Guia de procedimentos para construir um programa java no IDE Sun One Studio 4 update 1, Community Edition 1 Guia de procedimentos para construir um programa java no IDE Sun One Studio 4 update 1, Community Edition Um Projecto é o conjunto de um ou mais ficheiros que constituem um programa, quer seja uma aplicação

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Configuração dos Comandos à Distância do KDE. Michael Zanetti Tradução: José Pires

Configuração dos Comandos à Distância do KDE. Michael Zanetti Tradução: José Pires Configuração dos Comandos à Distância do KDE Michael Zanetti Tradução: José Pires 2 Conteúdo 1 Introdução 5 1.1 Requisitos.......................................... 5 2 Utilização 6 2.1 Comandos à Distância

Leia mais

Tutorial de Extensibilidade

Tutorial de Extensibilidade PRIMAVERA v7.00 Tutorial de Extensibilidade Importação de Pendentes por excel Versão 1.0 Abril de 2007 Índice ÍNDICE... 1 INTRODUÇÃO... 2 EXCEL DE IMPORTAÇÃO DE PENDENTES... 3 Enquadramento...3 Como utilizar

Leia mais

ANEXO I. O Ambiente de desenvolvimento MpLab IDE v6.62

ANEXO I. O Ambiente de desenvolvimento MpLab IDE v6.62 ANEXO I O Ambiente de desenvolvimento MpLab IDE v6.62 Como ferramenta de desenvolvimento do código dos microcontroladores utilizou-se o MpLab IDE v6.62 da Microchip. A linguagem de programação utilizada

Leia mais

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/04/2011

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/04/2011 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Tabelas INTERNET BÁSICA: EXTENSIBLE HYPERTEXT MARKUP LANGUAGE XHTML PARTE 3 Largamente suportado(browser); Controlar

Leia mais

ZS Rest. Manual Avançado. Início v.1. v2011

ZS Rest. Manual Avançado. Início v.1. v2011 Manual Avançado Funcionamento Início v.1 com cartões v2011 1. Índice 2. INTRODUÇÃO... 2 3. INICIAR O ZSRest FrontOffice... 3 1 4. Séries... 4 b) Adicionar Série... 4 i. Tipo de série... 5 c) Modificar

Leia mais

DEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / Programação

DEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / Programação Funções DEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / 07 1 Programação modular Programação modular: divir um programa em módulos mais pequenos Função: um conjunto de instruções que desempenham

Leia mais

O que é um programa em Visual Basic?

O que é um programa em Visual Basic? O que é um programa em Visual Basic? 1 Conteúdo Exemplo de um programa Apresentação sumária da construção de um programa em VB. Objectos e o mecanismo de eventos Apresentação dos conceitos básicos de programação

Leia mais

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { } Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução

Leia mais

Esta é a única declaração da aplicação

Esta é a única declaração da aplicação Esta é a única declaração da aplicação A classe de usuário Olamundo O método público main, com seu argumento, obrigatório em qualquer aplicação. É dentro deste método que você inicia sua aplicação, não

Leia mais

Editor Eclipse para Programas F

Editor Eclipse para Programas F Editor Eclipse para Programas F Guia de instalação e utilização Instalação Comece por descarregar a aplicação de instalação CP_setup.exe do endereço http://www.math.ist.utl.pt/~jabr/cp/ Uma vez descarregada,

Leia mais

1.2 Organização de directórios e ficheiros A linha de comandos

1.2 Organização de directórios e ficheiros A linha de comandos 1.2 Organização de directórios e ficheiros 1.2.1 A linha de comandos A linha de comandos Quando fazemos login no sistema, utilizando um username e uma password, o computador fica à espera das nossas ordens

Leia mais

Manual Prático. Elisabete Aguiar

Manual Prático. Elisabete Aguiar Manual Prático Elisabete Aguiar Índice A BARRA DE OPÇÕES... 4 Abrir um documento existente... 6 Guardar um documento Word... 7 Ambiente de Trabalho no Microsoft Word 2007... 9 Configuração de Páginas...

Leia mais

Computer Setup Manual do utilizador

Computer Setup Manual do utilizador Computer Setup Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca comercial registada nos EUA da Microsoft Corporation. As informações aqui contidas estão

Leia mais

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO Módulo 8 - Int. ao Visual Basic 1. O Visual Basic É uma linguagem de programação que utiliza objectos programáveis como interface com o utilizador. Foi criada

Leia mais

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Guia para codificação em JAVA Disciplina de Introdução à Programação Ano Lectivo 2003/2004 CONTEÚDO

Leia mais

Gerenciadores de Layout

Gerenciadores de Layout Gerenciadores de Layout Mário Antonio Meireles Teixeira DEINF UFMA Baseado em material original de João Carlos Pinheiro CEFET/MA 1 Objetivos Apresentar os gerenciadores de layout: FlowLayout BorderLayout

Leia mais

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans. 1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um

Leia mais

O Manual do KNotes. Fabian Dal Santo Greg M. Holmes Revisão: Lauri Watts Tradução: José Pires

O Manual do KNotes. Fabian Dal Santo Greg M. Holmes Revisão: Lauri Watts Tradução: José Pires Fabian Dal Santo Greg M. Holmes Revisão: Lauri Watts Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Utilizar o KNotes 6 3 Configuração 9 3.1 Configurar as Opções Predefinidas do KNotes.....................

Leia mais

3 Cabeçalho/ logótipo 4 Menu principal 5 Autenticação

3 Cabeçalho/ logótipo 4 Menu principal 5 Autenticação Escolas de Primeiro Ciclo no site do Agrupamento Iniciar com o endereço www.aecarvalhos.pt 1 1 Clicar em ESCOLAS DO AGRUPAMENTO (lado direito do site). 2 2 Apontar para EB1/JI e clicar na escola respetiva.

Leia mais

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA Layout Programação Orientada a Objetos Java Prof. Geraldo Braz Junior Baseado em material original de João Carlos Pinheiro CEFET/MA Objetivos Apresentar os gerenciadores de layout: FlowLayout BorderLayout

Leia mais

Manual do Gestor das Salas

Manual do Gestor das Salas Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor das Salas João Braga http://www.fe.up.pt/~ei97027/lia.html

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Associações de Ficheiros. Mike McBride Tradução: José Pires

Associações de Ficheiros. Mike McBride Tradução: José Pires Mike McBride Tradução: José Pires 2 Conteúdo 1 Associações de Ficheiros 4 1.1 Introdução.......................................... 4 1.2 Como usar este módulo.................................. 4 1.2.1

Leia mais

Introdução à Computação. Programas Básicos. ISEP DEI, Angelo Martins 2006 Programas Básicos - 1

Introdução à Computação. Programas Básicos. ISEP DEI, Angelo Martins 2006 Programas Básicos - 1 Introdução à Computação Programas Básicos ISEP DEI, Angelo Martins 2006 Programas Básicos - 1 Conteúdo Exemplo de um programa Apresentação sumária da construção de um programa em VB. Objectos e o mecanismo

Leia mais

Fundamentos Programação

Fundamentos Programação Fundamentos Programação A programação de computadores não é difícil. Realmente só requer algo como: Aprender alguns conceitos gerais Ser cuidadoso, organizado e lógico Praticar até aprender a dominar a

Leia mais

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais Brad Hards Tradução: Pedro Morais 2 Conteúdo 1 Introdução 5 2 O protocolo do Remote Frame Buffer 6 3 Utilizar o Desktop Sharing 7 3.1 Janela Principal do Desktop Sharing........................... 7 3.1.1

Leia mais

Fundamentos de Programação

Fundamentos de Programação Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 22 de Setembro de 2008 Este trabalho corresponde à instalação, no seu computador, do interpretador

Leia mais

Windows 95/98/Me/2000

Windows 95/98/Me/2000 Windows 95/98/Me/2000 Mais que um Sistema Operativo, o MS-Windows é um ambiente de trabalho que simula no ecrã o trabalho diário sobre uma secretária. A ideia base do MS-Windows foi a de esconder a organização

Leia mais

Guia e Utilização do Visual Studio.NET 2003

Guia e Utilização do Visual Studio.NET 2003 Guia e Utilização do Visual Studio.NET 2003 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio.NET 2003. Passo 1:

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

X-IntegConfig. Configuração da integração do X-Mobile. Versão 1.0.7

X-IntegConfig. Configuração da integração do X-Mobile. Versão 1.0.7 X-IntegConfig Configuração da integração do X-Mobile Versão 1.0.7 Índice - Introdução...2 - Como usar o X-IntegConfig...3 - Detalhes do ficheiro de importação...5 (a) Edição de Instrução SQL...8 (b) Configuração

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm

Leia mais

Fundamentos da programação Parte - 1

Fundamentos da programação Parte - 1 Fundamentos da programação Parte - 1 1. Objetivos Nesta lição discutiremos as partes básicas de um programa em Java. Começaremos explicando as partes do programa Hello.java mostrado na última lição. Discutiremos

Leia mais

HTML HTML. Centro de Form. Profissional de Alverca Formador: Cosmin Constantinescu 1

HTML HTML. Centro de Form. Profissional de Alverca Formador: Cosmin Constantinescu 1 HTML Sessão 9 HTML Quem já navegou um pouco pela Internet com certeza já encontrou páginas em que, por exemplo, existe um menu estático no lado esquerdo do ecrã e o conteúdo do lado direito é que vai mudando.

Leia mais

Módulo 17E. Revisões de HTML. A) Noções básicas de HTML

Módulo 17E. Revisões de HTML. A) Noções básicas de HTML Módulo 17E Revisões de HTML A) Noções básicas de HTML Estrutura básica de um documento Um documento HTML começa com a tag de abertura e termina com a tag de fecho . De seguida, temos a considerar

Leia mais

Objectos Gráficos 1. APROG (Civil) Aula 4. Friday, November 2, 12

Objectos Gráficos 1. APROG (Civil) Aula 4. Friday, November 2, 12 Objectos Gráficos 1 APROG () Aula 4 1 Objectos Gráficos Estes objectos são utilizados para construir interfaces gráficas permitindo uma interacção directa do macro com o utilizador. 2 2 Form Uma interface

Leia mais

imax Concepção Centrada no Utilizador 2007/2008 Manual do Utilizador

imax Concepção Centrada no Utilizador 2007/2008 Manual do Utilizador Concepção Centrada no Utilizador 2007/2008 imax Manual do Utilizador Grupo 04: Pedro João Grácio Rodrigues 48952 Raquel Garcez Coutinho Costa 57745 Renato Filipe Robles Sousa 52368 Índice Índice... 2 Introdução...

Leia mais

Delphi 7 Aula 03 Progressão Geométrica

Delphi 7 Aula 03 Progressão Geométrica Delphi 7 Aula 03 Progressão Geométrica Prof. Gilbert Azevedo da Silva I. Objetivos Desenvolver aplicativos com várias janelas, Manipular lista de strings, Utilizar os componentes: MainMenu, ToolBar, ImageList,

Leia mais

Página Inicial do Moodle

Página Inicial do Moodle Moodle: Formando 1 Índice Página Inicial do Moodle... 3 Navegar no Moodle... 4 Editar Perfil... 5 a 7 Participar no Fórum... 8 a 9 Entrega de Trabalhos... 10 a 11 Enviar Mensagens aos Participantes...

Leia mais

O Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: José Pires

O Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: José Pires Kåre Särs Anne-Marie Mahfouf Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Usar o Skanlite 6 2.1 Selecção do Scanner.................................... 6 3 Janela Principal do Skanlite 8 3.1 Digitalização.........................................

Leia mais

UFCD 786 Instalação e configuração de sistemas de bases de dados

UFCD 786 Instalação e configuração de sistemas de bases de dados Pág 2 UFCD 786 Instalação e configuração de sistemas de bases de dados Formadora Elsa Almeida Índice 1 Introdução... 3 2 Formulários... 4 2.1 Criar Formulários... 4 2.2 Inserção de Novos Registos e Manipulação

Leia mais

Manual do Gestor da Turma

Manual do Gestor da Turma Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Turma João Braga http://www.fe.up.pt/~ei97027/lia.html

Leia mais

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Ferramentas Web, Web 2.0 e Software Livre em EVT

Ferramentas Web, Web 2.0 e Software Livre em EVT E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o da d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a AnimPixels M a

Leia mais

Módulo 1a: Introdução ao Visual Basic for Applications (VBA)

Módulo 1a: Introdução ao Visual Basic for Applications (VBA) Módulo 1a: Introdução ao Visual Basic for Applications (VBA) - Elementos básicos - O Excel (revisões ou não?) Folha de cálculo baseada em células Usa um sistema de coordenadas (letra, número) Recalcula

Leia mais

FORMAÇÃO DE MICROSOFT EXCEL 2010

FORMAÇÃO DE MICROSOFT EXCEL 2010 FORMAÇÃO DE MICROSOFT EXCEL 2010 Mário de Almeida Pedro, M. Sc. Novembro 2013 Bemvindo Identificação da UFCD UFCD nº 0756 Folha de Cálculo, com a duração de 50 horas Microsoft Excel 2010 Objectivos: No

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

Criação de estilos CSS

Criação de estilos CSS Em primeiro lugar vamos inserir um parágrafo Marco Soares 1 Criação de estilos CSS Para começar, crie um site novo e uma página inicial para testes chamada index.html Vamos começar por criar alguns estilos

Leia mais

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a  e começar a jogar. Manual do Utilizador Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a http://mega.ist.utl.pt/~jsnl/sudoku/ e começar a jogar. O que preciso para jogar? Precisa de um computador, ligação

Leia mais

Domine o Word Professor: Rafael Henriques

Domine o Word Professor: Rafael Henriques Domine o Word 2010 Professor: 1 08-03-2016 Rafael Henriques Sumário Introdução aos Processadores de texto; Microsoft Word 2010 O ambiente de trabalho O Friso Os Tabuladores do Word 2010; Realização e correcção

Leia mais

Tutorial 133 DUO Criação de telas e utilização do teclado

Tutorial 133 DUO Criação de telas e utilização do teclado Tutorial 133 DUO Criação de telas e utilização do teclado Este documento é propriedade da ALTUS Sistemas de Informática S.A., não podendo ser reproduzido sem seu prévio consentimento. Altus Sistemas de

Leia mais

Autoria Web. Formulários Aula 5. Cleverton Hentz

Autoria Web. Formulários Aula 5. Cleverton Hentz Autoria Web Formulários Aula 5 Cleverton Hentz Sumário da Aula } Introdução } Formulários Básicos } Elementos Suportados 2 Introdução } Os formulários possibilitam o envio de informação para o servidor

Leia mais

Manual do KPager. Dirk Doerflinger Antonio Larrosa Jiménez Pino Toscano Matthias Elter Matthias Ettrich Tradução: Nuno Donato

Manual do KPager. Dirk Doerflinger Antonio Larrosa Jiménez Pino Toscano Matthias Elter Matthias Ettrich Tradução: Nuno Donato Dirk Doerflinger Antonio Larrosa Jiménez Pino Toscano Matthias Elter Matthias Ettrich Tradução: Nuno Donato 2 Conteúdo 1 Introdução 5 2 Usar o KPager 6 2.1 Mais funções do KPager..................................

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Estruturada Quando precisamos de escrever código para resolver um determinado problema, dizemos normalmente que precisamos de um "programa" para esse fim. Programa, aqui, é entendido como um conjunto

Leia mais

Sistemas de Gestão De Bases de Dados. Criação de Tabelas na vista estrutura. Módulo 2. A Professora: Vanda Pereira

Sistemas de Gestão De Bases de Dados. Criação de Tabelas na vista estrutura. Módulo 2. A Professora: Vanda Pereira Sistemas de Gestão De Bases de Dados Criação de Tabelas na vista estrutura A Professora: Vanda Pereira Módulo 2 Para criar uma tabela basta clicar no separador Criar grupo Tabela Vai aparecer no lado esquerdo

Leia mais

Informática II Cap. 4-4

Informática II Cap. 4-4 Cap. 4-4 1 Estruturada Quando precisamos de escrever código para resolver um determinado problema, dizemos normalmente que precisamos de um "programa" para esse fim. Programa, aqui, é entendido como um

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Funções e Vectores http://tele1.dee.fct.unl.pt

Leia mais

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil - www.coldfusionbrasil.com.br 2000 ENTENDENDO MAIS SOBRE CFOUTPUT 3 USO DO PARÂMETRO GROUP 3 USO DO PARÂMETRO GROUPCASESENSITIVE 4 USO DO PARÂMETRO STARTROW 4 USO DO PARÂMETRO MAXROWS 4 CRIANDO FORMULÁRIOS

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais

Documento da versão. Novas Funcionalidades. Ecrã Principal. Ecrã Principal Preferências. Parametrização Trabalhos Séries OT

Documento da versão. Novas Funcionalidades. Ecrã Principal. Ecrã Principal Preferências. Parametrização Trabalhos Séries OT Documento da versão PRODUTO ManWinWin DATA INÍCIO 13-04-2015 VERSÃO 5.3.1.0 DATA FECHO 24-07-2015 Novas Funcionalidades Ecrã Principal No módulo Parque passou a ser possível escolher a árvore que se pretende

Leia mais

sisgep 2013 Declaração Mensal de Remunerações - AT (De acordo com a Portaria nº 6/2013 de 10 de Janeiro) Data última versão:

sisgep 2013 Declaração Mensal de Remunerações - AT (De acordo com a Portaria nº 6/2013 de 10 de Janeiro) Data última versão: Manual do Utilizador sisgep 2013 Declaração Mensal de Remunerações - AT (De acordo com a Portaria nº 6/2013 de 10 de Janeiro) Data última versão: 08-02-2013 Data criação: 08-02-2013 Versão: 1.00 R. Dr.

Leia mais

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias 1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo

Leia mais